随笔分类 - Data Structure
摘要:数据结构 高阶算法的应用 算法分析和解题的一般套路 算法解法 暴力解 :枚举解法 可行解 :目标解法 最优解 :缘分解法 算法解题得分套路 结构体定义 算法思想和算法步骤 算法实现 注释 算法复杂度分析:时间复杂度和空间复杂度 线性表的高阶应用 1.双指针策略 一块,一慢 距离缩短 一早,一晚 距离
阅读全文
摘要:数据结构 数组 1.多维数组的存储 2.特殊矩阵(数组)的压缩存储 3.数组的应用 定义与地址计算 数组是由n(n>1)个具有相同数据类型的数据元素a1,a2,...,an组成的有序序列,且该序列必须存储在一块地址连续的存储单元中。 数组中的数据元素具有相同数据类型。 数组是一种随机存取结构,给定一
阅读全文
摘要:数据结构 排序 分冶 稳定性 时间复杂度 空间复杂度 1.插入类排序 直接插入排序 折半插入排序 希尔排序 分组(间距d--),直接插入排序 2.交换类排序 起泡排序 快速排序 每次选一个基准元素,将待排序的元素分成两个部分 (可以选第一个元素作为基准元素) 以每次的基准元素为根构建二叉树 3.选择
阅读全文
摘要:数据结构 查找 顺序查找 折半查找 树形查找:1.二叉排序树 2.平衡二叉树 3.红黑树 B树及其基本操作、B+树的基本概念 散列查找 概念 查找分类 静态查找 不改变查找表的结构 对应静态查找表 顺序查找、折半查找 动态查找 BST树和AVL树 二叉排序的查找、平衡二叉树的查找 根据存储结构的不同
阅读全文
摘要:数据结构 图及其应用 存储及基本操作 邻接矩阵法 邻接表法 遍历 深度优先搜索(DFS)遍历 广度优先搜索(BFS)遍历 最小生成树 边稠密: 普里姆(Prim)算法 边稀疏:克鲁斯卡尔(Kruskal)算法 最短路径 单源点最短路径:迪杰斯特拉(Dijkstra)算法 各顶点之间最短路径:弗罗伊德
阅读全文
摘要:数据结构 树和二叉树 树 树的性质 存储形式 双亲表示法 孩子兄弟表示法 孩子链表表示法 二叉树 有序树 二叉树的性质 顺序存储结构 数组 一般只有完全二叉树才采用顺序结构进行存储 链式存储结构 //二叉树的链式存储结构 typedef struct BTNode{ ElemType data; s
阅读全文
摘要:数据结构 栈与队列 栈 给定n个元素,出栈的顺序的情形满足卡特兰数,计算公式为Cn\2n/(n+1) b=t=-1 出栈前先判断栈是否为空,空栈出栈报错 进栈,先top++ 栈顶指针top指向栈顶元素 出栈,先弹出元素,然后top-- 栈底指针固定不变,指向初始位置 栈满t==n-1、栈中元素个数t
阅读全文
摘要:数据结构 逻辑结构、物理结构 时间复杂度、空间复杂度 线性表 顺序表 #define MAX_SIZE 100 typedef int ElemType; typedef struct seqlist{ ElemType data[MAX_SIZE]; int length; }SeqList //
阅读全文
摘要:数据结构和算法-小甲鱼 鱼C工作室 序论 程序设计 = 数据结构 + 算法 数据结构就是关系--数据元素相互之间存在的一种或多种特定关系的集合 逻辑结构:数据对象中数据元素间的相互关系 物理结构:数据的逻辑结构在计算机中的存储形式 逻辑结构: 集合结构:集合结构中的数据元素除了同属于一个集合外,他们
阅读全文
摘要:#高级搜索树 ##伸展树 逐层伸展 宽松平横 ###局部性 Locality: 刚被访问过的数据,极有可能很快地再次被访问 >信息处理中常见 //BST BST:刚刚被访问过的节点,极有可能很快的再次被访问 下一将要访问的节点,极有可能就在刚被访问过的节点的附近 连续的m次 查找(m >> n =|
阅读全文
摘要:数据结构和算法——小甲鱼 数据结构 是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科 分为:逻辑结构、物理结构 逻辑结构: 数据对象中数据元素之间的相互关系。 物理结构: 数据的逻辑结构在计算机中的存储形式。 集合结构,其中的数据元素除了同属于一个集合外,他们
阅读全文