【收藏】手撕数据结构代码一文就够了,数据结构与算法·C语言版,原理分析与实验教程(目录)

什么是数据结构?在《Data Structures and Algorithms Using C++》的前言部分有这样一句介绍,非常准确地阐述了这个问题。

A data structure is the logical or mathematical arrangement of data in memory. To be effective, data has to be organized in a manner that adds to the efficiency of an algorithm and also describe the relationships between these data items and the operations that can be performed on these items.

Data Structures and Algorithms Using C++

诸多教材主要集中在数据结构的原理分析上,书中案例多数以伪代码形式出现,课堂上也很难演示源码程序,使得数据结构的学习门槛较高,难度更大。

多数教材之所以用伪代码,而不用源码,很大原因是由于源码受限于编程语言及操作环境。伪代码更方便教材编写,但增大了学生的学习难度。课堂上受限于课时要求,更无法演示源码程序,但动手写代码是理解数据结构的必经之路。

The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so thlll there is a thorough understanding before continuing on to the more complex parts of the curriculum.

Data Structures And Algorithmic Thinking With Python

在《Data Structures And Algorithmic Thinking With Python》的前言部分,作者强调了动手写代码的重要性,并给出了近700个案例。

本课程以C语言作为编程语言,系统化、结构化地较为全面地讲解数据结构中最经典且基础的实验案例。每个实验案例从创建实验项目开始编写,每个步骤都非常详细。之所以选择C语言,是因为C语言更接近内存,能够与数据结构高度契合。希望通过本课程的学习,你能够更加深入地理解什么是数据结构。

数据结构主要分为三部分介绍,第一部分是线性结构(包括链表、栈、队列),第二部分是非线性结构(包括树、图),第三部分是数据结构的应用(包括查找、排序)。

数据结构与算法·C语言版,原理分析与实验教程目录如下,完成教程中的所有实验,一定可以更加深刻地理解什么是数据结构。

  1. 线性表的顺序存储结构

  2. 线性表的顺序存储结构(静态数组实现)

  3. 线性表的顺序存储结构(动态数组实现)

  4. 单链表

  5. 单链表(实现)

  6. 双向链表

  7. 双向链表(实现)

  8. 循环单链表、循环双向链表

  9. 循环单链表(实现)

  10. 循环单链表(实现多项式求和)

  11. 循环双向链表(实现)

  12. 顺序栈

  13. 顺序栈(静态数组实现)

  14. 顺序栈(动态数组实现)

  15. 链栈

  16. 链栈(实现)

  17. 顺序队列和循环队列

  18. 顺序队列(实现)

  19. 循环队列(实现)

  20. 链队列

  21. 链队列(实现)

  22. 二叉树,顺序存储实现

  23. 二叉树(顺序存储实现)

  24. 二叉树,链式存储实现

  25. 二叉树(链式存储实现)

  26. 线索二叉树,高效遍历

  27. 线索二叉树(实现)

  28. 树的双亲表示法

  29. 树的双亲表示法(实现)

  30. 树的孩子表示法

  31. 树的孩子表示法(实现)

  32. 树的双亲孩子表示法

  33. 树的双亲孩子表示法(实现)

  34. 树的孩子兄弟表示法和树的遍历

  35. 树的孩子兄弟表示法(实现)

  36. 哈夫曼树和哈夫曼编码

  37. 哈夫曼树和哈夫曼编码(实现)

  38. 图的存储结构:邻接矩阵

  39. 图的邻接矩阵结构(实现)

  40. 图的深度优先遍历和广度优先遍历

  41. 图的深度优先遍历(基于图的邻接矩阵结构实现)

  42. 图的广度优先遍历(基于图的邻接矩阵结构实现)

  43. 最小生成树普里姆Prim算法和克鲁斯卡尔Kruskal算法

  44. 最小生成树普里姆Prim算法(基于图的邻接矩阵结构实现)

  45. 最小生成树克鲁斯卡尔Kruskal算法(基于图的邻接矩阵结构实现)

  46. 拓扑排序算法和关键路径

  47. 拓扑排序算法(基于图的邻接矩阵结构实现)

  48. 图的关键路径(基于图的邻接矩阵结构实现)

  49. 最短路径Dijkstra算法和最短路径Floyd算法

  50. 最短路径Dijkstra算法(基于图的邻接矩阵结构实现)

  51. 最短路径Floyd算法(基于图的邻接矩阵结构实现)

  52. 图的存储结构:邻接表

  53. 图的邻接表结构(实现)

  54. 图的存储结构:十字链表

  55. 图的十字链表结构(实现)

  56. 图的存储结构:邻接多重表

  57. 图的邻接多重表结构(实现)

  58. 二叉排序树(二叉查找树)

  59. 二叉排序树(二叉查找树)实现

  60. 平衡二叉树AVL

  61. 平衡二叉树AVL实现

独立完成本课程的所有实验,以及课程中的拓展实验,定能深刻理解数据结构的内涵。

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值