
《数据结构》学习笔记
《数据结构》学习笔记
钰钰钰钰帝
学习永无止境
展开
-
《数据结构》学习笔记-第十二章 排序
邓俊辉《数据结构》学习笔记-第十二章 排序(自用)1.Quicksort快速排序1.12.Selectsort选择排序3.Shellsort希尔排序1.Quicksort快速排序1.12.Selectsort选择排序3.Shellsort希尔排序原创 2020-05-23 12:06:03 · 300 阅读 · 0 评论 -
《数据结构》学习笔记-第十一章 串
邓俊辉《数据结构》学习笔记-第十一章 串(自用)1.基础知识1.1 术语1.2 ADT2.串匹配2.1 概念2.2 算法2.2.3 蛮力算法1.基础知识1.1 术语1.2 ADT2.串匹配2.1 概念文本串T,模式串P四个层次问题:算法评测:2.2 算法2.2.3 蛮力算法...原创 2020-05-21 19:45:57 · 575 阅读 · 0 评论 -
《数据结构》学习笔记-第十章 优先级队列(call-by-priority))
邓俊辉《数据结构》学习笔记-第十章 优先级队列(自用)1.基本实现1.1 接口规范1.2 实现探索2.实现——完全二叉堆Complete Binary Heap)2.1 结构性——血肉2.2 堆序性(堆顶即为最大元)——灵魂2.3 插入(结构性保持,堆序性却不一定)与上滤(比较一次)2.4 删除(堆序性保持,结构性却不一定)与下滤(比较两次)stack(LIFO)和queue(FLFO)都是PQ的特例——优先级取决于元素的插入次序steap和queap也是PQ的特例——插入和删除的位置受限1.基本实现原创 2020-05-18 18:23:16 · 799 阅读 · 0 评论 -
《数据结构》学习笔记-第九章 词典(call-by-value)
邓俊辉《数据结构》学习笔记-第九章 高级搜索树(自用)1.Hashing(哈希/散列:赖以高效组织数据并实现相关算法的重要思想)1.1 原理1.Hashing(哈希/散列:赖以高效组织数据并实现相关算法的重要思想)1.1 原理首先要明确为什么要使用散列。以电话簿为例,可能的电话R=108=100M,实有的电话N=25000=25K。如果用数组来实现电话的查询,虽然时间效率是常数,但是空间效率=N/R=0.0.25%,太低了不可取,所以我们需要散列。散列原理...原创 2020-05-16 18:54:24 · 346 阅读 · 0 评论 -
《数据结构》学习笔记-第八章 高级搜索树(ABST)
邓俊辉《数据结构》学习笔记-第八章 高级搜索树(自用)1.Splay_Tree伸展树1.1 逐层伸展1.2 双层伸展1.3 算法实现2.B_Tree3.Red_Black_Tree4.kd_Tree1.Splay_Tree伸展树节点v一旦被访问,随即转移至树根。1.1 逐层伸展自下而上,逐层单旋效率低:(1)若全树的拓扑结构始终呈现单链条结构,那就等价于一维列表(2)被访问节点的深度...原创 2020-04-17 17:20:31 · 596 阅读 · 0 评论 -
《数据结构》学习笔记-第七章 二叉搜索树(call-by-key)-基于Vector
邓俊辉《数据结构》 学习笔记-第七章 二叉搜索树(自用)1.概述2.算法及实现1.概述2.算法及实现原创 2020-04-13 15:40:32 · 322 阅读 · 0 评论 -
《数据结构》学习笔记-第六章 图(非线性结构)
邓俊辉《数据结构》学习笔记 第六章-图(自用)1.基本术语2.表示和实现2.1 两种表示方式2.2 实现1.基本术语2.表示和实现2.1 两种表示方式2.2 实现Graph模板类:...原创 2020-04-10 17:20:18 · 523 阅读 · 0 评论 -
《数据结构》学习笔记-第五章 二叉树(半线性)-基于List(二维形式)
邓俊辉《数据结构》 学习笔记-第5章 二叉树1.树(特殊的图)一些基础概念2 .树的表示3.二叉树3.1 概述3.2 实现1.树(特殊的图)一些基础概念有根树:有序树:路径+环路:连通+无环:层次+深度:根节点是所有节点的公共祖先,深度为0,没有后的节点称作叶子(想想真实的树,很形象)特别的:空树的高度为-12 .树的表示还是从接口开始:这里有4种表示法:1.父...原创 2020-04-07 17:47:47 · 722 阅读 · 4 评论 -
《数据结构》学习笔记-第四章 栈与队列(线性序列的特例)
邓俊辉 《数据结构》学习笔记-第四章 栈与队列(自用)1.Stack栈(FILO先进后出)1.1 接口与实现1.2 应用1.2.1 hailstone1.Stack栈(FILO先进后出)1.1 接口与实现从基类继承的接口:size()empty()自定义的接口:push()入栈pop()出栈top()取顶基于vector实现stack:以向量末端为栈底,向量首端为栈顶!这样出栈的操作直...原创 2020-04-03 23:20:06 · 944 阅读 · 0 评论 -
《数据结构》学习笔记-第三章 列表(逻辑型线性序列call-by-position)
邓俊辉《数据结构》学习笔记-第三章 列表(自用)1.接口与实现1.1 ListNode(列表的基本元素)1.2 List2.无序列表2.1 查找(重点!注意语义!)2.2 插入和构造2.2.1 插入2.2.2 基于复制的构造2.3 删除和析构2.3.1 删除2.3.2 析构2.4 唯一化(考察前驱)3.有序列表3.1 唯一化(考察后继)3.2 查找4.排序(无序->有序)4.1 select...原创 2020-04-03 14:50:08 · 391 阅读 · 0 评论 -
《数据结构》学习笔记-第二章 向量(物理型线性序列call-by-rank)
标题邓俊辉《数据结构》学习笔记-第二章 向量(自用)接口与实现原创 2020-04-01 21:28:27 · 924 阅读 · 0 评论 -
《数据结构》学习笔记-第一章 绪论(需反复揣摩)
邓俊辉《数据结构》学习笔记-第一章 绪论(自用)1.计算(=信息处理)2.计算模型(=计算机=信息处理工具)2.1 TM2.2 RAM3.大O记号O(f(n))常用的几个刻度4.算法分析4.1 正确性4.2 复杂度5.迭代与递归5.1 数组求和5.2 数组倒置5.3 找出最大两个整数典型的递推方程递归关系6.动态规划6.1 Fibonacci6.2 Longest Common Sequence...原创 2020-04-01 18:17:12 · 458 阅读 · 0 评论