数据结构和算法
文章平均质量分 83
Y_momo_
纸上得来终觉浅,绝知此事要躬行。
展开
-
数据结构和算法:线性表
03_线性表 标签(空格分隔): 数据结构和算法 定义 线性表:由零个或多个数据源元素组成的有限序列 前驱:直接前驱元素,第一个数据元素无前驱 后继:直接后继元素,最后一个数据元素无后继 其他元素有且仅有一个前驱和后继 线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表 抽象数据类型 把数据类型和相关操作捆绑在一起 描述抽象数据类型的标准格式:...原创 2018-06-15 23:19:23 · 769 阅读 · 0 评论 -
数据结构和算法:查找算法
10_查找算法 标签(空格分隔): 数据结构和算法 静态查找和动态查找 查找结构 顺序查找 插值查找 斐波那契(黄金比例)查找 线性索引查找 稠密索引 分块索引 倒排索引 二叉排序树 二叉排序树的查找操作 二叉排序树的插入操作 二叉排序树的删除操作 平衡二叉排序树 平衡二叉排序树的实现原理 多路查找树 2-3树定义 2-3树的插入原理 2-3树的删除原理 2-3-4树 B树 散...原创 2018-08-16 20:07:39 · 2737 阅读 · 2 评论 -
数据结构和算法:图
09_图 标签(空格分隔): 数据结构和算法 图的定义 图 无向边 有向边 简单图 无向完全图 有向完全图 稀疏图和稠密图 权,网 子图 图的顶点与边之间的关系 邻接点、度 路径 连通图 连通图的生成树 图的存储结构 邻接矩阵(无向图、有向图、网) 邻接表(无向图、有向图、网) 邻接多重表(无向图的优化) 边集数组 图的遍历 深度优先遍历 马踏棋盘算法(骑士周游问题) 广度优先遍...原创 2018-08-06 08:24:30 · 2199 阅读 · 2 评论 -
数据结构和算法:树
08_树 标签(空格分隔): 数据结构和算法 树 树的定义 结点分类 结点间的关系 结点的层次 树的存储结构 双亲表示法 孩子双亲表示法 二叉树 二叉树定义 二叉树的特点 二叉树的五种基本形态 特殊二叉树 二叉树的性质 二叉树的存储结构 二叉树的顺序存储结构 二叉链表 二叉树的遍历 二叉树的遍历方法 前序遍历 中序遍历 后序遍历 层序遍历 二叉树的建立和遍历算法 线索二叉树 ...原创 2018-08-06 08:21:16 · 765 阅读 · 0 评论 -
数据结构和算法:字符串匹配 -- BF算法、KMP算法
07_字符串匹配 – BF算法 KMP算法 标签(空格分隔): 数据结构和算法 字符串 BF算法 KMP算法 KMP算法之next数组代码原理分析 KMP算法之实现及优化 7.1字符串 7.1.1 定义 串(string)是由零个或多个字符组成的有限序列,又名叫字符串。 一般记为 s = “a1a2a3……an” (n>0) 串可以是空串,即没有字符,直接由”“表...原创 2018-07-25 22:36:02 · 878 阅读 · 0 评论 -
数据结构和算法:递归
06_递归 标签(空格分隔): 数据结构和算法 斐波那契数列的迭代实现 斐波那契数列的递归实现 递归定义 实例分析 分治思想 汉诺塔 八皇后问题 6.1 斐波那契数列的迭代实现 #include <stdio.h> int main() { int i; int a[40]; a[0] = 0; a[1] = 1; p...原创 2018-06-25 23:35:15 · 373 阅读 · 0 评论 -
数据结构和算法:队列
05_队列 标签(空格分隔): 数据结构和算法 队列的定义 队列的链式存储结构 创建一个队列 入队列操作 出队列操作 销毁一个队列 运用 队列的顺序存储结构 循环队列定义 初始化循环队列 入队列操作 出队列操作 5.1 队列的定义 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表 与栈相反,队列是一种先进先出(First In First Ou...原创 2018-06-25 23:34:37 · 958 阅读 · 1 评论 -
数据结构和算法:栈
04_栈和队列 标签(空格分隔): 数据结构和算法 栈的定义 栈的插入和删除操作 栈的顺序存储结构 创建一个栈 入栈操作 出栈操作 清空一个栈 销毁一个栈 计算栈的当前容量 栈的链式存储结构 进栈操作 出栈操作 逆波兰表达式 中缀表达式转换为后缀表达式 队列的定义 队列的链式存储结构 创建一个队列 入队列操作 出队列操作 销毁一个队列 运用 队列的顺序存储结构 循环队列定义 初始...原创 2018-06-25 22:00:42 · 585 阅读 · 0 评论 -
数据结构和算法:时间复杂度和空间复杂度
02_时间复杂度和空间复杂度 标签(空格分隔): 数据结构和算法 算法效率的度量方法 事后统计方法:这种方法主要是通过设计好的测试程序和数据,利用计算机计时器对不同的算法编制的程序的运行时间进行比较,从而确定算法效率的高低 事前分析估算方法:在计算机程序编写前,依据统计方法对算法进行估算 一个高级语言编写的程序在计算机上运行时所消耗的时间取决于以下因素: 算法采用的策略、方案 编...原创 2018-06-10 21:39:00 · 487 阅读 · 0 评论 -
数据结构和算法绪论
01_数据结构和算法绪论 标签(空格分隔): 数据结构和算法 程序设计 = 数据结构 + 算法 再简单的来说,数据结构就是关系。就是数据元素相互之间存在的一种或多种特定关系的集合 逻辑结构和物理结构 传统上,我们把数据结构分为逻辑结构和物理结构 逻辑结构:是指数据对象中数据元素之间的相互关系 物理结构:是指数据的逻辑结构在计算机中的存储形式 四大逻辑结构 集合结构...原创 2018-06-10 21:38:18 · 211 阅读 · 0 评论 -
数据结构和算法:排序算法
11_排序算法 标签(空格分隔): 数据结构和算法 排序算法 排序的基本概念与分类 排序的稳定性 影响排序算法性能的几个要素 冒泡排序 选择排序 直接插入排序 希尔排序 堆排序 归并排序 快速排序 11.1 排序算法 11.1.1 排序的基本概念与分类 概念 假设含有n个记录的序列为{r1, r2, …, rn},其相应的关键字分别为{k1, k2, …, kn},...原创 2018-08-25 14:12:43 · 609 阅读 · 1 评论