【基础知识】| 作者 / Edison Zhou

这是恰童鞋骚年的第250篇原创内容


不知不觉,每天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#学习数据结构这个系列文章就到此结束了,不知道在这么多个工作日的清晨是否对你产生了帮助。当然,无论是这些日子里的鼓励还是批评,我都虚心接受。

接下来,我们会通过《剑指Offer》中的一些经典题目来复习我们所学的数据结构知识,当然必须是C#代码实现,有兴趣的童鞋可以继续关注。

往期精彩回顾

.NET Core 微服务学习实践系列文章

.NET Core on K8s 学习实践系列文章

如果本文对你有用,

不妨点个“在看”或者转发朋友圈

????点击阅读原文,获取文章源码

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

  1. c# 插入数据到 uniqueidentifier_每天5分钟用C#学习数据结构(16)二叉树 Part 2

    [基础知识]| 作者 / Edison Zhou这是恰童鞋骚年的第209篇原创文章 上一篇开始了树与二叉树之旅,本篇会介绍二叉树的基本实现.1二叉树的代码实现 二叉树节点的定义实现 /// /// 二 ...

  2. 数据结构实验之图论九:最小生成树_每天5分钟用C#学习数据结构(25)图 Part 6

    [基础知识]| 作者 / Edison Zhou 这是恰童鞋骚年的第221篇原创文章 上一篇介绍了非连通图如何实现遍历,本篇我们再来看看生成树与最小生成树,以及实现最小生成树的一个算法:Prim算法. ...

  3. 数据结构铁轨问题_每天5分钟用C#学习数据结构(20)图 Part 1

    [基础知识]| 作者 / Edison Zhou 这是恰童鞋骚年的第216篇原创文章 前面已经介绍了线性表和树两类数据结构,线性表中的元素是"一对一"的关系,树中的元素是" ...

  4. (翻译)60分钟入门深度学习工具-PyTorch

    60分钟入门深度学习工具-PyTorch 作者:Soumith Chintala 原文翻译自: https://pytorch.org/tutorials/beginner/deep_learning ...

  5. python算法完整教程专栏完整目录

    python算法完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:python算法完整教程 数量:692篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去 ...

  6. 企业的Windows活动目录规划方案集合(附学习视频)

    企业的Windows活动目录规划方案集合(附学习视频) 活动目录(Active Directory)是面向Windows Standard Server.Windows terprise Server ...

  7. OpenCV完整教程专栏完整目录

    OpenCV完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:OpenCV完整教程 数量:403篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去的博文, ...

  8. 华为OD机试真题大全完整目录

    华为OD机试真题大全完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:华为OD机试真题大全 数量:406篇博文(2023年5月16日截止) 更新时间至:2023年5月16日(后续加上去的博文,会每 ...

  9. C和C++算法完整教程专栏完整目录

    C和C++算法完整教程专栏完整目录 专栏说明如下 完整专栏目录如下 专栏说明如下 内容:C和C++算法完整教程 数量:680篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加 ...

最新文章

  1. python期末考试及答案广东卷_python数据分析答案试题题目及答案,期末考试题库,章节测验答案...
  2. php 循环写入 缓冲,php利用缓冲实现动态输出(flush,ob_flush)
  3. Windows8系统服务终极优化
  4. android webview 多文件上传,Android中的webview支持页面中的文件上传实例代码
  5. 帐号体系:后端信息结构设计
  6. 网络应用程序设计模式
  7. P1141 01迷宫(BFS+记忆化)
  8. 中科大 计算机网络8 协议层次和服务模型
  9. 1.5 编程基础之循环控制 44 第n小的质数
  10. 手机编译mysql_玩转MySQL 8.0源码编译
  11. Windows Phone 7 立体旋转动画的实现
  12. 「02」《机器学习经·天工开物篇》
  13. windows10误删Administrator用户的家目录之后
  14. Paypal如何实现循环扣款(订阅)?
  15. 电路邱关源第五版部分章节总结笔记
  16. 计算机系统保密检查整改情况函,民政局保密工作整改情况的报告
  17. 微信小程序跳转微信公众号
  18. 潜心一技、做到极致!——Elastic认证工程师之路
  19. POJ刷题列表——正在进行
  20. Ant Design mentions组件更改样式

热门文章

  1. ArrayList 的实现原理
  2. Sharepoint在itemUpdating中获取修改后的用户或用户组栏的值
  3. jquery如何获取元素的滚动高度
  4. 推荐我看过的几本好书给大家!(2)
  5. helloworld:一个完整的WCF案例
  6. eclipse_中的注释_快捷键
  7. 在netbeans下使用调试PHP的插件XdeBug
  8. Microsoft Desktop Player是IT Pro的宝贵工具
  9. 如何在Ubuntu上查看和写入系统日志文件
  10. Lang.String