【完整目录】每天5分钟用C#学习数据结构

不知不觉,每天5分钟学习数据结构就更新完了,本篇将该系列所有文章整理起来作为一个目录,方便你的快速阅读。

1线性表

线性表是最简单也是在编程当中使用最多的一种数据结构。例如,英文字母表(A,B,C,D...,Z)就是一个线性表,表中的每一个英文字母都是一个数据元素;又如,成绩单也是一个线性表,表中的每一行是一个数据元素,每个数据元素又由学号、姓名、成绩等数据项组成。顺序表和链表作为线性表的两种重要的存在形式,它们是堆栈、队列、树、图等数据结构的实现基础。

(1)线性表基础

(2)顺序表

(3)单链表 Part 1

(4)单链表 Part 2

(5)双链表 Part 1

(6)双链表 Part 2

(7)循环链表 Part 1

(8)循环链表 Part 2

(9)约瑟夫问题

2栈和队列

现实生活中的事情往往都能总结归纳成一定的数据结构,例如餐馆中餐盘的堆叠和使用,羽毛球筒里装的羽毛球等都是典型的栈结构。而在.NET中,值类型在线程栈上进行分配,引用类型在托管堆上进行分配。栈和队列都是常用的数据结构,它们的逻辑结构与线性表相同,不同之处则在于操作受某种特殊限制。因此,栈和队列也被称为操作受限的线性表。

(1)栈 Part 1

(2)栈 Part 2

(3)队列 Part 1

(4)队列 Part 2

(5)队列 Part 3

3二叉树

树和之前学习的一对一关系的线性结构已经有了不同,树是一对多的关系了。树在计算机中有着广泛的应用,甚至在计算机的日常使用中,也可以看到树形结构的身影,如Windows资源管理器和应用程序的菜单都属于树形结构。

(1)二叉树 Part 1

(2)二叉树 Part 2

(3)二叉树 Part 3

(4)二叉树 Part 4

(5)二叉树 Part 5

4图

线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的。现实生活中的很多事物都可以抽象为图,例如世界各地接入Internet的计算机通过网线连接在一起,各个城市和城市之间的铁轨等等。

(1)图 Part 1

(2)图 Part 2

(3)图 Part 3

(4)图 Part 4

(5)图 Part 5

(6)图 Part 6

(7)图 Part 7

(8)图 Part 8

(9)图 Part 9

(10)图 Part 10

5查找

只要你打开电脑,就会涉及到查找技术。如炒股软件中查股票信息、硬盘文件中找照片、在光盘中搜DVD,甚至玩游戏时在内存中查找攻击力、魅力值等数据修改用来作弊等,都要涉及到查找。当然,在互联网上查找信息就更加是家常便饭。查找是计算机应用中最常用的操作之一,也是许多程序中最耗时的一部分,查找方法的优劣对于系统的运行效率影响极大。

(1)查找 Part 1

(2)查找 Part 2

(3)查找 Part 3

(4)查找 Part 4

(5)查找 Part 5

6排序

排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为按关键字“有序”的记录序列。如何进行排序,特别是高效率地进行排序是计算机工作者学习和研究的重要课题之一。排序有内部排序和外部排序之分,若整个排序过程不需要访问外存便能完成,则称此类排序为内部排序,反之则为外部排序。下面会主要介绍插入排序、交换排序、选择排序和归并排序这几种内部排序方法。

(1)插入类排序

(2)交换类排序

(3)选择类排序

(4)归并类排序

7小结

到此为止,每天5分钟用C#学习数据结构这个系列文章就到此结束了,不知道在这么多个工作日的清晨是否对你产生了帮助。当然,无论是这些日子里的鼓励还是批评,我都虚心接受。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值