logo资料库

邓俊辉数据结构讲义.pdf

第1页 / 共119页
第2页 / 共119页
第3页 / 共119页
第4页 / 共119页
第5页 / 共119页
第6页 / 共119页
第7页 / 共119页
第8页 / 共119页
资料共119页,剩余部分请下载后查看
目录 01. 绪论 1 - 8 A. 计算 9 - 17 B. 计算模型 18 - 31 C. 大 O 记号 32 - 45 D. 算法分析 46 - 61 E. 迭代与递归 62 - 72 XA. 限制 73 - 85 XB. 排序与下界 86 - 96 XC. 动态规划 02. 向量 97 - 106 A. 接口与实现 107 - 114 B. 可扩充向量 115 - 125 C. 无序向量 126 - 132 D1. 有序向量:唯一化 133 - 141 D2. 有序向量:二分查找 142 - 147 D3. 有序向量 :Fibonacci 查找 148 - 154 D4. 有序向量:二分查找(改进) 155 - 160 D5. 有序向量:插值查找 161 - 165 E. 起泡排序 166 - 175 F. 归并排序 03. 列表
176 - 185 A. 接口与实现 186 - 194 B. 无序列表 195 - 197 C. 有序列表 198 - 203 D. 选择排序 204 - 211 E. 插入排序 212 - 214 F. 归并排序 215 - 220 XA. 游标实现 221 - 227 XB. Java 序列 228 - 232 XC. Python 列表 04. 栈与队列 233 - 236 A. 栈:接口与实现 237 - 242 B. 栈:函数调用栈 243 - 248 C1. 栈应用:进制转换 249 - 256 C2. 栈应用:括号匹配 257 - 263 C3. 栈应用:栈混洗 264 - 275 C4. 栈应用:中缀表达式求值 276 - 284 C5. 栈应用:逆波兰表达式 285 - 288 D. 队列:接口与实现 289 - 292 E. 队列:应用 293 - 295 XA. Steap + Queap 296 - 306 XB. 试探回溯法:八皇后 307 - 311 XC. 试探回溯法:迷宫寻径 05. 二叉树 312 - 319 A. 树 320 - 326 B. 树的表示
327 - 332 C. 二叉树概述 333 - 341 D. 二叉树实现 342 - 353 E1. 先序遍历 354 - 364 E2. 中序遍历 365 - 375 E3. 后序遍历 376 - 384 E4. 层次遍历 385 - 387 E5. 二叉树的重构 388 - 394 F. PFC 编码 395 - 408 G. Huffman 树 06. 图 409 - 413 A. 概述 414 - 429 B1. 邻接矩阵 430 - 436 B2. 邻接表 437 - 448 C. 广度优先搜索 449 - 466 D. 深度优先搜索 467 - 475 E. 拓扑排序 476 - 480 F. 优先级搜索 481 - 494 G. Prim 算法 495 - 510 H. Dijkstra 算法 511 - 523 XA. 双连通分量 524 - 537 XB. Kruskal 算法 538 - 544 XC. Floyd-Warshell 算法 07. 二叉搜索树 545 - 551 A. 接口 552 - 562 B. 算法与实现
563 - 572 C. 平衡与等价 573 - 587 D. AVL 树 08. 高级搜索树 588 - 593 A1. 伸展树:单层伸展 594 - 599 A2. 伸展树:双层伸展 600 - 607 A3. 伸展树:算法实现 608 - 612 B1. B-树:动机 613 - 621 B2. B-树:结构 622 - 629 B3. B-树:查找 630 - 638 B4. B-树:插入 639 - 650 B5. B-树:删除 651 - 655 XA1. 红黑树:动机 656 - 660 XA2. 红黑树:结构 661 - 672 XA3. 红黑树:插入 673 - 687 XA4. 红黑树:删除 688 - 700 XB1. kd-树:一维 701 - 713 XB2. kd-树:二维 714 - 727 XC. 更多变种 09. 词典 728 - 737 A. 散列:循值访问 738 - 748 B. 散列:原理 749 - 761 C. 散列:散列函数 762 - 770 D1. 散列:排解冲突(1) 771 - 782 D2. 散列:排解冲突(2) 783 - 789 E. 桶排序
790 - 795 F. 基数排序 796 - 802 XA1. 跳转表:结构 803 - 812 XA2. 跳转表:算法 813 - 816 XB1. 位图:结构 817 - 824 XB2. 位图:应用 825 - 827 XB3. 位图:初始化 828 - 836 XB4. 位图:计数排序 837 - 843 XC. MD5 10. 优先级队列 844 - 849 A1. 动机 850 - 856 A2. 基本实现 857 - 861 B1. 完全二叉堆:结构 862 - 866 B2. 完全二叉堆:插入 867 - 871 B3. 完全二叉堆:删除 872 - 878 B4. 完全二叉堆:建堆 879 - 886 C. 堆排序 887 - 894 D. 锦标赛排序 895 - 900 XA1. 左式堆:结构 901 - 905 XA2. 左式堆:合并 906 - 910 XA3. 左式堆:插入+删除 911 - 918 XB. 多叉堆 11. 串 919 - 923 A. ADT 924 - 927 B1. 串匹配 928 - 933 B2. 蛮力算法
934 - 938 C1. KMP 算法:记忆法 939 - 945 C2. KMP 算法:查询表 946 - 949 C3. KMP 算法:理解 next[]表 950 - 955 C4. KMP 算法:构造 next[]表 956 - 959 C5. KMP 算法:分摊分析 960 - 967 C6. KMP 算法:改进 968 - 973 D1. BM 算法:BC 策略:以终为始 974 - 979 D2. BM 算法:BC 策略:坏字符 980 - 981 D3. BM 算法:BC 策略:构造 bc[]表 982 - 984 D4. BM 算法:BC 策略:性能 985 - 990 E1. BM 算法:GS 策略:好后缀 991 - 994 E2. BM 算法:GS 策略:构造 gs[]表 995 - 997 E3. BM 算法:GS 策略:性能 998 - 1004 F1. KR 算法:指纹 1005 - 1009 F2. KR 算法:散列 12. 排序 1010 - 1019 A1. 快速排序:算法 1020 - 1022 A2. 快速排序:性能 1023 - 1028 A3. 快速排序:重复元素 1029 - 1033 A4. 快速排序:变种 1034 - 1039 B1. 选取:众数 1040 - 1045 B2. 选取:中位数 1046 - 1057 B3. 选取:线性算法 1058 - 1068 XB1. 希尔排序:Shell 序列 1069 - 1076 XB2. 希尔排序:逆序对 1077 - 1084 XB3. 希尔排序:更佳序列
分享到:
收藏