数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。
算法和数据结构是计算机科学的核心内容。作为程序员,编程是我们的实战项目。然而,写出程序还不够。一个程序在应对一些大型而复杂的情况时,会耗费大量的时间。我们可以很容易写出一个从文件中找到一个词的程序,比如逐词扫描,看是否相符。但如果我们的文件有几十TB,而且要从文件中找到上百个词,逐个扫描的办法就几乎不可行。我们需要优化程序,以便我们的程序可以应对复杂问题。算法研究解决问题的方法,而数据结构则是设计一种更好的组织数据和使用数据的方式。两者有很强的相互依赖关系,所以往往放在一起讨论。
先上图:
数据结构与算法
Xmind:
一、冒泡排序
- 0.冒泡排序的实现
- 1.第一趟排序
- 2.第二趟排序
- 3.代码简化
- 4.冒泡排序优化
二、选择排序
- 0.选择排序介绍和稳定性说明
- 1.第一趟排序
- 2.第二趟排序
- 3.代码简化
三、插入排序
- 0.插入排序介绍
- 1.第一趟排序
- 2.第二趟排序
- 3.简化代码
四、快速排序
- 0.快速排序的介绍
- 1.一趟快速排序
- 2.递归分析与代码实现
五、归并排序
- 0.归并排序的介绍
- 1.演算归并排序过程
- 2.归并排序前提分析(分治法)
- 3.归并代码实现
六、希尔排序
- 0.希尔排序介绍
- 1.希尔排序体验
- 2.希尔排序代码实现
七、堆排序
- 0.堆排序介绍
- 1.堆排序体验
- 2.堆排序代码实现
八、基数排序(桶排序)
- 0.基数排序(桶排序)介绍
- 1.基数排序代码编写
- 2.桶排序(基数排序)总结
九、递归
- 0.递归介绍
- 1.求和
- 2.数组内部的最大值
- 3.冒泡排序递归写法
- 4.斐波那契数列
- 5.汉诺塔算法
- 6.总结
十、链表
- 1.回顾与知新
- 2.Java实现链表
- 3.链表总结
十一、栈
- 0.数据结构【栈】就是这么简单
- 1.数据结构【栈】代码实现
十二、队列
队列就是这么简单:
十三、二叉树
- 0.二叉树就是这么简单
- 1.动态创建二E叉树
- 2.查询二叉查找树相关
以上就是数据结构与算法的学习笔记,都是纯手打,还可以结合数据结构与算法的pdf文章进行学习:
Java数据结构与算法
pdf主要目录大纲:
pdf主要内容展示:
数据结构与算法经典问题解析
pdf主要内容大纲:
pdf主要内容展示: