数据结构在学 1.用程序代码把现实问题信息化
2.用计算机高效地处理这些信息从而创造价值
![](https://i-blog.csdnimg.cn/blog_migrate/e1d01d35ccb7b86b7aad2531e43e3049.png)
绪论
1.数据结构的基本概念
2.什么是算法
3.算法的时间复杂度
4.算法的空间复杂度
需要具备的C语言知识
![](https://i-blog.csdnimg.cn/blog_migrate/d172b39801b864a4ea62520ae7738d24.png)
1.数据结构的基本概念
![](https://i-blog.csdnimg.cn/blog_migrate/424883cde73f94fa3aebb61d62d1ad38.png)
![](https://i-blog.csdnimg.cn/blog_migrate/772b2ce4c9dd5b46bbb0a36c73f8f92f.png)
同一个数据对象里的数据元素,可以组成不同的数据结构
不同的数据元素,可组成相同的数据结构(如微博粉丝排行榜为线性结构,个人财富排行榜也是
数据结构注重的是数据元素之间的关系,和对数据元素的操作,而不关心具体数据项的内容
![](https://i-blog.csdnimg.cn/blog_migrate/ec0e05d33303195b48715b6cb989826a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73b361b5a5d2baab2da1957f71aa38da.png)
数据运算:针对于某种逻辑结构,结合实际需求,定义基本运算
![](https://i-blog.csdnimg.cn/blog_migrate/cb4775f81f55b42d27b3b6b84f86d369.png)
物理结构
![](https://i-blog.csdnimg.cn/blog_migrate/1a2bcac48d2a8b93054d8e5f78f3746f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/39f30e13ca56a0f155cafdc5e466b7df.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ac5ccf401c9fb30b098cf6b5bc0c4f87.png)
![](https://i-blog.csdnimg.cn/blog_migrate/55bcb47314885f62ecdfb4da0f09daa2.png)
阶段总结图
![](https://i-blog.csdnimg.cn/blog_migrate/190d263c5c729aca046b20681462e677.png)
什么是算法
![](https://i-blog.csdnimg.cn/blog_migrate/7b249d2fc5b527cb3c13c7af8e33efe1.png)
阶段总结图
![](https://i-blog.csdnimg.cn/blog_migrate/42a8dfd7392494235c4b64a791c2269c.png)
算法效率度量1.时间复杂度
2.空间复杂度
时间复杂度
![](https://i-blog.csdnimg.cn/blog_migrate/4630219f399a43dd5ea1c2885f3686d4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8516eca96f47c46fedffb8c94c17af45.png)
![](https://i-blog.csdnimg.cn/blog_migrate/29cbda5a8bf38d8ece6a393a31262601.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75e4ab3d8b1a999c687f5e7544b40958.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3bc55a6db48e36fa3e9b75c75127333e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/999eaab7c1d1f6d13c0f771c44421b20.png)
空间复杂度
![](https://i-blog.csdnimg.cn/blog_migrate/0b71cba0c02dc1b9338be685dcb57890.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2e189a44c9decda77161379a5998c46f.png)
特殊地:
![](https://i-blog.csdnimg.cn/blog_migrate/fbe0d84a049307c8890b5065f5cccf9b.png)
线性表的定义和基本操作
![](https://i-blog.csdnimg.cn/blog_migrate/89410545f777d4a8e9b305d0d10c53c3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dc1aadf7a13a8464746fc772d1b0a7a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c1089b775c3a9b6d8d275d748cd85e7.png)
顺序表
![](https://i-blog.csdnimg.cn/blog_migrate/3bc06ef001488959cd800cdf41bd37e5.png)
顺序表的静态分配
![](https://i-blog.csdnimg.cn/blog_migrate/14fea64f0e23220deeaae65f1e499ca4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/191aa5988dad2d190207c5f1b76dd697.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0493b4e7b1fc7099ba0df3970ef822cc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/47c602f26de8b712ba7f70b41aab3eb7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3e5310399a4a852324edbc88499905c9.png)
顺序表插入
![](https://i-blog.csdnimg.cn/blog_migrate/44f6c2cef1e0c76d9f5c7ca7db6127f4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f82dbe04ad032ca6596d1172abc0583d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/eef5bb7a3f397b5c8bc3446cea32a7c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/338510d91e175449fe11a50e04434d8e.png)
顺序表的查找
按位查找
![](https://i-blog.csdnimg.cn/blog_migrate/9e7ea845405df64be8605ff27226f060.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27a3dc2f2c86033f6591eceeffa27769.png)
按值查找
![](https://i-blog.csdnimg.cn/blog_migrate/a1d0aad375952737ddc31ad6d292b614.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a69ce1c5707918ce45d6c49e962f932b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/72677a89734c35e2a1ed4eb2ca7710ad.png)
单链表的定义
![](https://i-blog.csdnimg.cn/blog_migrate/978e3322eb720bec51bb853e688005e7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bcd1bc338bedf13163f76d2d69a7ec64.png)
![](https://i-blog.csdnimg.cn/blog_migrate/03dafc887776ec2bf01cb1f0c1b1fe44.png)
直接写在中括号后面表示直接对应重命名,省略了typedef更加简洁
![](https://i-blog.csdnimg.cn/blog_migrate/51403f79f1a9927675965284e13100bf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8ad9b78dfa870fadd6cdcf082ce0e4dd.png)
如何初始化一个单链表
![](https://i-blog.csdnimg.cn/blog_migrate/a1b28f69467ba40d0e5311a0a03db3ae.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a7844630e7d0284292aead479f9227b9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b6551ad8f7f319104235a777f67fda15.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5aad71ace15bb65bad6bdfc92e7959c0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7235130ef093ff0359f7effe00d6e050.png)
![](https://i-blog.csdnimg.cn/blog_migrate/71525dd3018d4d1e3fea5549a24e594f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2728178bd9744f358831c5234e1dd5e0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c1ea12593b381b138239af5b7eb3da47.png)
![](https://i-blog.csdnimg.cn/blog_migrate/511ee48315e4857e8ae0f08f62140147.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fdab13e5b8ebb57dcd5d87286a16eba0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6b87b90efc81de6d3990823229d8ecc2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f18402ed92d0cb8dbb8adb911cec41bc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c05347a6077247f1befacee1db175807.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d4f833ccc3c4955289248963f0c17fe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8596cbc8f5bb2fd6613317dc5dfc01f0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/154e44af6809574b1d0b381e72a52aa8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b49e4d025b0f34fc50cec952688a0999.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ffede9a25ded64f6f261f2b997a01ca7.png)
头插法可以用作逆置操作