数据结构与算法
文章平均质量分 90
数据结构与算法笔记与代码实现
CHH3213
主要研究自动驾驶决策规划控制。
每天都要保持健康的状态,提升专业能力,谨慎投资!
展开
-
【尚硅谷_数据结构与算法】六、十大经典排序算法解析与java/c++实现
文章目录1. 冒泡排序(Bubble Sort)2. 快速排序(Quick Sort)1. 冒泡排序(Bubble Sort)基本概念冒泡排序通过重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。原理描述通过对待排序序列从前向后,依次比较相邻元素的排序码,若发现逆序则交换,使排序码较大的元素逐渐从前部移向后部。实现步骤(默认升序的情况)比较相邻的元素,如果前一个比后一个大,就交换这两个数;针对所有元素重复以上的步骤,最后一个除外,直到没有任何一对数字原创 2022-01-01 13:26:45 · 760 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】十二、算法
文章目录参考文献1. 分治算法1.1 基本介绍1.2 基本算法步骤1.3 算法实践——汉诺塔2. 动态规划算法2.1 核心思想2.2 算法实践——背包问题3. KMP算法3.1 应用场景-字符串匹配问题3.2 KMP算法介绍3.2.1 思路分析3.2.2 部分匹配表的产生4. 贪心算法4.1 算法介绍4.2 算法应用——集合覆盖4.2.1 思路分析4.3 算法应用——钱币找零参考文献数据结构与算法https://www.bilibili.com/video/BV1E4411H73v?p=153原创 2022-02-20 17:04:20 · 848 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】十一、图
文章目录参考资料1. 基本介绍1.1 定义1.2 常用概念1.3 表示方式参考资料https://www.bilibili.com/video/BV1E4411H73v?p=146数据结构与算法1. 基本介绍1.1 定义线性表局限于一个直接前驱和一个直接后继的关系树也只能有一个直接前驱也就是父节点当我们需要表示多对多的关系时,这里我们就用到了图。图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。结点也可以称为顶点。1.2 常用概念顶点(verte原创 2022-02-19 11:04:15 · 543 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】十、多路查找树
文章目录参考资料1. 二叉树问题分析2. 多叉树2.1 2-3树2.1.1 2-3树特点2.1.2 2-3树插入规则2.2 B树、B+和B*树2.2.1 B树2.2.2 B+树2.2.3 B*树参考资料https://www.bilibili.com/video/BV1E4411H73v?p=142数据结构与算法1. 二叉树问题分析二叉树的操作效率较高,但是也存在问题,请看下面的二叉树二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿),就存在如原创 2022-02-18 15:18:11 · 152 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】九、树结构
文章目录参考文献1. 二叉树1.1 为什么需要树1.2 树的基本概念1.3 二叉树的概念1.4 二叉树的遍历1.5 二叉树的查找1.5.1 前序查找思路1.5.2 中序查找思路1.5.3 后序查找思路1.6 二叉树的删除1.6.1 基本思路参考文献https://www.bilibili.com/video/BV1E4411H73v?p=90数据结构与算法1. 二叉树1.1 为什么需要树数组存储方式的分析优点: 通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度原创 2022-02-18 14:43:15 · 656 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】八、哈希表
文章目录参考文献1. 基本概念2. Google上机题参考文献https://www.bilibili.com/video/BV1E4411H73v?p=87数据结构与算法1. 基本概念散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表是一种将数组与链表相结合的数据结构示例程序参考gitee原创 2022-02-16 12:04:31 · 318 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】七、查找
文章目录参考资料1. 查找算法介绍2. 线性查找3. 二分查找3.1 基本思路3.2 查找的值有多个时如何处理4. 插值查找4.1 基本思路4.2插值查找注意事项:5. 斐波那契(黄金分割法)查找5.1 基本介绍5.2 基本思路参考资料https://www.bilibili.com/video/BV1E4411H73v?p=77数据结构与算法1. 查找算法介绍在java中,我们常用的查找有四种:1) 顺序(线性)查找2) 二分查找/折半查找3) 插值查找4) 斐波那契查找2. 线性原创 2022-02-16 10:42:43 · 468 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】五、递归
文章目录参考资料1. 概念2. 常见应用场景3. 递归调用规则4. 迷宫问题4.1 思路4.2 对迷宫问题的讨论4.3 代码实现5. 八皇后问题5.1 问题介绍5.2 思路分析5.3 代码实现参考资料https://www.bilibili.com/video/BV1E4411H73v?p=43数据结构与算法1. 概念递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归用到了虚拟机栈2. 常见应用场景八皇后问题汉原创 2022-02-14 21:04:31 · 349 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】四、栈
文章目录参考资料1. 定义2. 应用场景3. 实现3.1 用数组实现4. 应用4.0 前缀、中缀、后缀表达式(逆波兰表达式)知识4.0.1. 前缀表达式4.0.2. 中缀表达式4.0.3. 后缀表达式4.1 表达式求值(中缀表达式)4.2 中缀转后缀4.3 逆波兰计算器参考资料https://www.bilibili.com/video/BV1E4411H73v?p=30Java数据结构与算法1. 定义栈(Stack)是一个先入后出(FILO-First In Last Out)的有序列表。原创 2022-02-14 14:39:58 · 486 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】三、链表
文章目录参考资料1. 链表介绍2. 单链表(带头结点)2.1 应用实例2.1.1 添加方式12.1.2 添加方式22.1.3 删除2.1.4 修改节点2.2 实现步骤总结2.3 单链表常见面试题(新浪,腾讯,百度)2.3.1 求单链表中有效节点的个数2.3.2 查找单链表中的倒数第k个结点2.3.3 链表的反转参考资料https://www.bilibili.com/video/BV1E4411H73v?p=16&spm_id_from=pageDriver1. 链表介绍链表是有序的列表,原创 2022-01-30 16:04:12 · 902 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】二、稀疏数组和队列
文章目录参考资料1. 稀疏数组1.1 介绍1.2 应用实例2. 队列2.1 简述2.2 数组模拟队列思路2.3 数组模拟环形队列参考资料https://www.bilibili.com/video/BV1E4411H73v?p=16&spm_id_from=pageDriver1. 稀疏数组问题引入1.1 介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:首先,稀疏数组的首行记录原数组一共有几行几列,有多少个不同的值原创 2022-01-27 15:51:23 · 654 阅读 · 0 评论 -
【尚硅谷_数据结构与算法】一、数据结构与算法概述
文章目录参考资料1. 数据结构与算法的关系2 看几个实际编程中遇到的问题3. 线性结构和非线性结构参考资料https://www.bilibili.com/video/BV1E4411H73v?p=6&spm_id_from=pageDriver1. 数据结构与算法的关系数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构学好数据结构可以编写出更加漂亮更加有效率的代码。要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决.程原创 2022-01-27 10:09:06 · 1471 阅读 · 0 评论