# IceCS.DataStructure **Repository Path**: dhclly/IceCS.DataStructure ## Basic Information - **Project Name**: IceCS.DataStructure - **Description**: 通过 C# 语言学习的数据结构练习记录 - **Primary Language**: C# - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-05 - **Last Updated**: 2022-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IceCS.DataStructure ## 简介 通过 C# 语言学习的数据结构练习记录 ``` 数据结构=数据元素+关系(结构) ``` 数据之间的关系有: - 集合 - 线性 - 树形 - 网状 为了保证代码的通用性,使用泛型来编写结构, 一些错误的操作通过抛出异常来保证操作正确。 ## 数据结构复杂度 一般看嵌套了几个 `for` 循环,for循环越多,复杂度越高 ## 算法效率 O(1) 最好 O(n) 次之 ## 结构存储 目前有两种存储方式,一是使用数组,叫做**顺序存储**, 二是每个节点通过上一个/下一个节点的引用串联起来,叫做**链式存储** ## 示例来源 - 数据结构(C#语言版)(这本书的示例代码不咋滴,不好理解) ISBN 978-7-302-19047-9 ## 目录结构 - docs - src - IceCS.DataStructure.Cmd 用于写测试代码的控制台项目 - IceCS.DataStructure.Core 数据结构的实现核心 - IceCS.DataStructure.Helpers 一些帮助类 - IceCS.DataStructure.StudentScore 线性表使用示例(已完成) - IceCS.DataStructure.TrainSequence 栈使用示例(已完成) - IceCS.DataStructure.One2HunderdQ 串使用示例 - IceCS.DataStructure.BankCall 队列使用示例 - test - IceCS.DataStructure.UnitTest 单元测试项目 ## 数据结构 - Linear List 线性列表 - SequenceList 顺序表 - LinkedList 链表 - SingleLinkedList 单向链表 - DoublyLinkedList 双向链表 - CircularDoublyLinkedList 循环双向链表 - Stack 栈 - SequenceStack 顺序栈 - LinkedStack 链式栈 - String 串