数据结构与算法
文章平均质量分 71
觅风丶
0.0
展开
-
数据结构与算法第8章:树结构和基础
数据结构与算法:树结构和基础二叉树二叉树了解二叉树遍历思路:顺序存储二叉树二叉树二叉树了解1 数组对比链表存储方式分析1.1 数组优点:通过下标方式访问元素, 速度快。 对于有序数组, 还可使用二分查找提高检索速度缺点: 如果要检索具体某个值, 或者插入值(按一定顺序)会整体移动,效率较低1.2链表优点: 在一定程度上对数组存储方式有优化(比如: 插入一个数值节点, 只需要将插入节点, 链接到链表中即可,删除效率也很好)。缺点:在进行检索时, 效率仍然较低, 比如(检索某个值, 需要原创 2021-08-21 12:39:10 · 92 阅读 · 0 评论 -
数据结构与算法第7章:Hash表
数据结构与算法:Hash表谷歌上机题Hash表介绍Hash表作用代码实现完整代码谷歌上机题google 公司的一个上机题:有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id, 性别, 年龄,住址…),当输入该员工的 id 时,要求查找到该员工的所有信息 要求:不使用数据库,尽量节省内存,速度越快越好 => 哈希表(散列)Hash表介绍散列表(Hash table, 也叫哈希表(对照java的HashMap)它通过把关键码值映射到表中一个位置来访问记录, 以加快查找的速度。原创 2021-08-04 22:31:56 · 346 阅读 · 1 评论 -
数据结构与算法第6章:查找算法
数据结构与算法:查找算法线性查找二分法查找线性查找线程查找:暴力查找/** * 线性查找 * * @param arr 要查找的数组 * @param value 要查找的val * @return 找到值的下标:若为-1代表未找到 */ public static int seqSearch(int[] arr, int value) { // 线性查找是逐一比对,发现有相同值,就返回下标 fo原创 2021-08-01 23:47:44 · 116 阅读 · 1 评论 -
数据结构与算法第5章:排序算法
数据结构与算法:排序算法排序算法简介时间复杂度2.1、时间复杂度的度量方法2.2、常见时间复杂度2.3、 时间复杂度解释排序算法简介排序也称排序算法(Sort Algorithm), 排序是将一组数据, 依指定的顺序进行排列的过程。1:排序算法分类内部排序:指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。外部排序法:数据量过大, 无法全部加载到内存中, 需要借助外部存储(文件等)进行排序。时间复杂度2.1、时间复杂度的度量方法事后统计的方法:这种方法可行, 但是有两个问题原创 2021-07-02 00:18:13 · 164 阅读 · 1 评论 -
数据结构与算法第4章:递归
数据结构与算法:栈递归介绍递归解决的问题递归应遵循的规则递归实现经典问题递归实现迷宫问题递归实现八皇后问题两数相加实际开发使用举例递归介绍递归解决的问题各种数学问题如: 8 皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的问题(google 编程大赛)各种算法中也会使用到递归, 比如快排, 归并排序, 二分查找, 分治算法等.将用栈解决的问题 --> 递归代码比较简洁递归应遵循的规则执行一个方法时, 就创建一个新的受保护的独立空间(一个线程有自己独立- 的一个栈空间,每个方法调用对原创 2021-06-30 00:56:15 · 170 阅读 · 0 评论 -
数据结构与算法第3章:栈
数据结构与算法:栈栈的应用场景与介绍栈的应用场景与介绍原创 2021-06-07 00:14:40 · 102 阅读 · 1 评论 -
数据结构与算法第2章:链表
数据结构java版单链表单链表面试题单链表链表的结构特点链表是有序的列表,在内存中的1存储如下图 ,是以节点的方式来存储的!每个节点包含data域,next域:指向下一节点如下图可以发现链表的各个节点不一定是连续存储的链表分带头节点的链表和没有头节点的链表,根据实际需求来链表在逻辑结构上来看属于线性结构单链表构建以及显示/** * @Date:2021/5/23 * @Author:GuoHeLong * * 单链表,实现水浒英雄排名 */public class原创 2021-05-30 23:43:39 · 188 阅读 · 1 评论 -
LeetCode刷题1-50
LeetCode刷题1-5001:两数之和01:两数之和两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。暴力破解法public class threeNumSum { public static void main(String[] args) { int num[] ={2,7原创 2021-05-23 19:02:04 · 169 阅读 · 0 评论 -
数据结构与算法第1章:稀疏数组与数组队列
* TODO 稀疏数组应用场景1:因为二维数组很多值默认是0,因此记录了很多无意义值->压缩二维数组节省空间 * * TODO 稀疏数组结构(默认第一行记录原始二维数组结构) * 一下用arr代表"二维数组" * row column num * arr的行长度 arr的列长度 arr中有效数据个数 * arr第一个有效值出现行原创 2021-05-17 00:12:13 · 191 阅读 · 0 评论