算法和数据结构
Wnlife
我很菜
展开
-
数据结构与算法六:十大算法
十大算法1 二分查找算法(非递归)1.1 二分查找算法(非递归)介绍:1.2 二分查找算法(非递归)代码实现2 分治算法2.1 分治算法介绍2.2 分治算法的基本步骤2.3 分治(Divide-and-Conquer(P))算法设计模式如下2.4 分治算法最佳实践-汉诺塔1 二分查找算法(非递归)1.1 二分查找算法(非递归)介绍:1)前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲...原创 2020-02-01 22:27:46 · 488 阅读 · 0 评论 -
数据结构与算法六:图
图的相关介绍和实现1. 图基本介绍1.1 为什么要有图1.2 图的举例说明2. 图的常用概念3. 图的表示方式3.1 邻接矩阵3.2 邻接表1. 图基本介绍1.1 为什么要有图前面我们学了线性表和树线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时, 这里我们就用到了图1.2 图的举例说明图是一种数据结构,其中结点可以具有...原创 2020-01-26 21:21:44 · 341 阅读 · 0 评论 -
数据结构与算法五:树
目录1树的基础部分1.1二叉树1.1.1为什么使用树这种数据结构1树的基础部分1.1二叉树1.1.1为什么使用树这种数据结构数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。示意图:链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插...原创 2019-11-25 22:03:42 · 505 阅读 · 0 评论 -
数据结构与算法四:查找算法&&哈希表
查找算法查找算法查找算法的介绍1 线性查找算法2 二分法查找算法2.1 实例分析2.2 图解分析2.3 二分查找的代码2.4 课后思考题3 插值查找算法3.1 插值查找算法的原理介绍:代码实现:3.2 插值查找注意事项功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一...原创 2019-11-21 21:51:10 · 387 阅读 · 0 评论 -
数据结构与算法三:排序
一. 排序算法1.1 排序算法的是介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。1.2 排序算法的分类1) 内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。2) 外部排序法:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。3) 常见的排序算法分类(见右图)1.3 算法的时间复杂度...原创 2019-11-18 21:51:35 · 370 阅读 · 0 评论 -
数据结构与算法二:栈 & 递归
一:栈1.1栈的一个实际需求请输入一个表达式计算式:[7*2*2-5+1-5+3-3] 点击计算【如下图】请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5, 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就是一个字符串),我们讨论的是这个问题。-> 栈1.2 栈的介绍栈的英文...原创 2019-10-28 13:00:21 · 857 阅读 · 0 评论 -
数据结构与算法一:稀疏数组 & 队列 & 链表
1 线性结构和非线性结构数据结构包括:线性结构和非线性结构。1.1线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息 线性结构常见的...原创 2019-10-19 18:25:04 · 357 阅读 · 1 评论