![b0b69572ee400ceeccb611c97131c8c4.png](https://i-blog.csdnimg.cn/blog_migrate/3020c8312a371bec2f5f3d3659026bd2.jpeg)
学习网址:《(小甲鱼)数据结构和算法》
(完结)(小甲鱼)数据结构和算法_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com写在前面:
(1)线性表的下标是从1开始的,记作:a1,a2,a3,a4,a5,a6........an,共n个数。
数组的下标是从0开始的,记作:a[0],a[1],a[2],a[4],a[5],a[6].........a[n-1],共n个数。
P3:时间复杂度和空间复杂度
![03ef896c4c18f54952f394f3f313d236.png](https://i-blog.csdnimg.cn/blog_migrate/f70b51cb6f435563ad7d89407ff2ab4a.jpeg)
P4:时间复杂度和空间复杂度2
![1a5b267e51c716535a5b0ddc222d16f4.png](https://i-blog.csdnimg.cn/blog_migrate/f5f360e4b9d78729fc78c9313479959c.jpeg)
(1)推导大O阶方法
![cd5c2cddec1ea80bc05e8aaed83df7bf.png](https://i-blog.csdnimg.cn/blog_migrate/b5091b2198e63767a91325bf735590b0.jpeg)
(2)常数阶 O(1):跟问题的规模没有关系
![7c64e081d9fd9f3a00fbe0d03ded0ee4.png](https://i-blog.csdnimg.cn/blog_migrate/5bc68249a78f51139142c7fd9169f9b4.jpeg)
(3)线性阶 O(n):呈直线增长
![4e70a1aca35df29fdc853ac462c10295.png](https://i-blog.csdnimg.cn/blog_migrate/c62d8fc0234f47f2ea156758a4ac735a.jpeg)
(4)平方阶 O(n^2)...O(n^3)
如果每个循环的次数都【一样】: O(n^2)...O(n^3)
![ebe71ec4c5ef1453b2575944a0fffd61.png](https://i-blog.csdnimg.cn/blog_migrate/7f958ab9cd222544d70fdc93f008170a.jpeg)
如果每个循环的次数【不一样】:O(n^2)...O(n^3)
![863f2eb4e7898231dfa049b6342b3218.png](https://i-blog.csdnimg.cn/blog_migrate/c9e51b0aad47eb2dcb08443d11701e14.jpeg)
(5)对数阶 O(logn)
![77135222d726a75688218a8921c7db69.png](https://i-blog.csdnimg.cn/blog_migrate/0b3ebed5cd2b5575a4bd94ea7785e5d9.jpeg)
P5:时间复杂度和空间复杂度3
(1)常见的时间复杂度
![4091154969fe346d59c884da177195de.png](https://i-blog.csdnimg.cn/blog_migrate/2c092098ec89dc1c5c5d86ade2e46a8d.jpeg)
![be8f40adccce92c6a73a586359c3e7a4.png](https://i-blog.csdnimg.cn/blog_migrate/c981e9600176ef6feb7feccbbd61994b.jpeg)
(2)最坏情况与平均情况
一般我们提到的【运行时间】都是指【最坏情况】的运行时间。
![b4d49820e1efe2af5aa19161a137aec4.png](https://i-blog.csdnimg.cn/blog_migrate/25e51c87cf9c4d54b7b1775d059c430d.jpeg)
(3)算法的空间复杂度
![d9ab264b9f44167b45b97521a5356944.png](https://i-blog.csdnimg.cn/blog_migrate/ee0473f174312882189d9468a7288579.jpeg)
P6:线性表
(1)线性表的定义
![121385d97335dd84ad871238393262be.png](https://i-blog.csdnimg.cn/blog_migrate/417ddaab4edec943b8c1f2ba85ba8fcd.jpeg)
![387622e04bb443383c58ad8f62e32767.png](https://i-blog.csdnimg.cn/blog_migrate/f7b3a9cec2fe128533276ff0d447be19.jpeg)
(2)抽象数据类型
![3589eb1b6af36a5be3c1892b87831e13.png](https://i-blog.csdnimg.cn/blog_migrate/c1b1fecd16fd1952331155c02fa3244e.jpeg)
![8acea799d71c688c49385845663f3b61.png](https://i-blog.csdnimg.cn/blog_migrate/6b42a893e49e1aefe9c75e86d5b929ea.jpeg)
P7:线性表2
![40adff6506ecc38cab50995a42fa04aa.png](https://i-blog.csdnimg.cn/blog_migrate/90928b847a506e97a13f4c2bf3d5ed7c.jpeg)
![05850a724d9f209f5a58423741f99ca6.png](https://i-blog.csdnimg.cn/blog_migrate/2e3af11a9367b21f9d200f232a286d7a.jpeg)
![fe4da093e24226a40cf4e33b1e48c09c.png](https://i-blog.csdnimg.cn/blog_migrate/7b5a43736af2e19539863715e58e132c.jpeg)
题目:实现A∪B
![24ef03ca5ecb4823657b88a4f9d9e8b8.png](https://i-blog.csdnimg.cn/blog_migrate/f6556678c7caf21708bca50f24c6a011.jpeg)
![5f49a4a58bbc68e969068a499bb7b4ed.png](https://i-blog.csdnimg.cn/blog_migrate/adc29a2c1baa1a9c22dcf850ee516942.jpeg)
P8:线性表3
线性表的顺序存储结构:
(1)定义
![2e8299c2023b6b388d6b8321a6a4d271.png](https://i-blog.csdnimg.cn/blog_migrate/7eb932146a77768f26b4d6cdd50abf5e.jpeg)
![24d246e7c9a9c275631fc29aa01e6f93.png](https://i-blog.csdnimg.cn/blog_migrate/b258ce123047cfa1e9772d92406205e4.jpeg)
(2)3个重要属性:
![b8e0249c8dbd353b15c7541f32a03607.png](https://i-blog.csdnimg.cn/blog_migrate/a76ee423fc53b3f9d3f7cb33a2cbd33a.jpeg)
(3)地址计算方法
![04b557bc5d09dd83d7b6a82e7ebf4e67.png](https://i-blog.csdnimg.cn/blog_migrate/cce66a63dc1b696da60d00714f2471c2.jpeg)
是随机存储结构!!!
![073304106014d1102daf9975ead00bfc.png](https://i-blog.csdnimg.cn/blog_migrate/6283826a1753a699865ca67a655b43e7.jpeg)
![1febaa7a5c9b7ebd76b8ce44a07e0b00.png](https://i-blog.csdnimg.cn/blog_migrate/e4133295e60ca5c53791d5e4beedfb15.jpeg)
(4)获取元素操作 GetElem() :线性表传入的i是从1开始的!
![b9892ac66f738017754690e535571ac2.png](https://i-blog.csdnimg.cn/blog_migrate/bbde553a029bfb1461c8e134f2b5f75c.jpeg)
![a7e48d864e4494b444214d255f1a1def.png](https://i-blog.csdnimg.cn/blog_migrate/29c226f1d3a5ee2ab54f2ab43527f12a.jpeg)
(5)插入数据
![45b7e90882e66a4d0743e55adedaf49e.png](https://i-blog.csdnimg.cn/blog_migrate/80c2e8e856396ae1fef8148def4ebc78.jpeg)
![3e56e0c00805db3e35fa4c7fcb294ef5.png](https://i-blog.csdnimg.cn/blog_migrate/06097cf40d88c7d261b4a158090b0d27.jpeg)
P9:线性表4
(1)删除操作
![1dafd43ad0242b62202b6c74ff0eec5d.png](https://i-blog.csdnimg.cn/blog_migrate/d9a7e7114bae5010257725bcc0483470.png)
![811fb39d551f3bc9edfad6ca33531674.png](https://i-blog.csdnimg.cn/blog_migrate/d67678558b62991762e0d11882d4e6ed.jpeg)
(2)插入和删除时间复杂度 O(n)
![2926b4cb482194e4a965618d2ccc07b5.png](https://i-blog.csdnimg.cn/blog_migrate/a6a8546c4b17942b8935d907c4256887.jpeg)
(3)线性表顺序存储结构的优缺点
![f62b12f48212522dad548aaaf5b7fa88.png](https://i-blog.csdnimg.cn/blog_migrate/384ef49c9a7d4f9d2d7e8abd2723e9be.jpeg)
![1a87d0ef293c2511f42da46b14539734.png](https://i-blog.csdnimg.cn/blog_migrate/4a01c343c926813a3aef0d2b64ee7fff.jpeg)
(4)线性表链式存储结构的定义
![48b944f9722cf366f56abf99ff8b1317.png](https://i-blog.csdnimg.cn/blog_migrate/557817a853ccb9e0c412af7d97ee103f.jpeg)
单链表:
![114d4a9dba02481c6ee6054ac089d99d.png](https://i-blog.csdnimg.cn/blog_migrate/3affa82f7d2549f802c0b5db3535eba0.jpeg)
P10:线性表10
(1)头指针与头节点的异同
![19f993521c1256fd25d97cf3cdff163c.png](https://i-blog.csdnimg.cn/blog_migrate/afc52fa12ad351950b79c07e71c92aee.jpeg)
(2)单链表存储结构
![17f809df64739b8e038d29a3630e750d.png](https://i-blog.csdnimg.cn/blog_migrate/2e50a33a293130e86e78b6c37024107a.jpeg)
(3)单链表的读取
![916f421d05a377d78dd148072a557730.png](https://i-blog.csdnimg.cn/blog_migrate/8d0066d496f6f8e7dd74cc712e54f124.jpeg)
![573d624ef1654ae06aac159095860d5a.png](https://i-blog.csdnimg.cn/blog_migrate/b57a4da8b30c2248fda5300842130b3f.jpeg)
![3a55f4365c42c6a5be88dd6b46aeb604.png](https://i-blog.csdnimg.cn/blog_migrate/48636c994bab5e649822344b91653695.jpeg)
(4)单链表的插入
![8e546dc9b264b5f520def17b97fb68f5.png](https://i-blog.csdnimg.cn/blog_migrate/37639e4c1edd5ee9cb6dab40900edb44.jpeg)
![8f6abce38dce98d2211519cf0720d713.png](https://i-blog.csdnimg.cn/blog_migrate/b8d2573c3f3003f3c4f8e0b05195298e.jpeg)
![592f66ba63ef10b85f30537223c6adc5.png](https://i-blog.csdnimg.cn/blog_migrate/3e6f4089637a915c87d3edac81b8cff4.jpeg)
(5)单链表的删除
![932667753eb78138f0dd1cf97594a1a4.png](https://i-blog.csdnimg.cn/blog_migrate/19437473f0448516ce4c44dcc351e6a8.jpeg)
![821064b50c9628edeb09addb6fca6451.png](https://i-blog.csdnimg.cn/blog_migrate/1f4adaa339dae3487e6d0dd00e6d6bd3.jpeg)