颤抖吧
颤抖吧
全部文章
数据结构与算法分析
回顾复习(17)
未归档(1)
归档
标签
去牛客网
登录
/
注册
颤抖吧的博客
记录每一天的。。。
全部文章
/ 数据结构与算法分析
(共15篇)
汉明距离
憨批写法 /** * @Description 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 * <p> * 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 * <p> * 输入:x = 1, y = 4 * 输出:2 * ...
2021-08-25
0
344
给定一个链表,判断链表中是否有环。
初始状态 经过多次”移动“后的状态 如果能相遇,那么 car == bike, 也就是它们在环形链表上, car 和 bike 的地址相等。 /** * @Description * 给定一个链表,判断链表中是否有环。 * * 如果链表中存在环,则返回 true 。 否则,返回 fals...
2021-08-24
0
326
图结构
一、图的基本介绍 图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点,图表示多对多的关系。 二、图的常用概念 ##三、图的表示方式 图的表示方式有两种:邻接矩阵(二维数组表示)、邻接表(链表表示) 邻结矩阵:是表示图形中顶点之间相邻关系的矩阵,对...
2021-07-30
0
474
平衡二叉树(AVLTree)
一、介绍 二、思路 三、代码 /** * @Description 平衡二叉树 * 说明:当前节点的(左子节点的高度-右子节点的高度) > 1 说明此棵树为不平衡二叉树 * @Author Meng * @Versions * @Date 2021-07-29-15:33 ...
2021-07-29
0
280
二叉排序树(BST)
一、二叉排序树介绍 二叉排序树:BST: (Binary Sort(Search) Tree), 排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。 特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点 二、二叉排序树的构建、遍历、删除 1. 构...
2021-07-29
0
423
二叉树的遍历与节点删除
一、思路 遍历 删除①. 因为我们的二叉树是单向的,所以我们是判断当前结点的子结点是否需要删除结点,而不能去判断当前这个结点是不是需要删除结点.②. 如果当前结点的左子结点不为空,并且左子结点 就是要删除结点,就将this.left = null; 并且就返回(结束递归删除)③. 如果当前结点的...
2021-07-23
0
582
HashTab
一、思路 二、总结 看图说话,哈希表是由数组和单链表组成。 当创建一个引用类型的数组时,每个位置上的初始值都为null。所有得对数组进行初始化 添加节点时,需要根据哈希函数确定其数组中的位置。简单的哈希函数 no%array.leng 要使链表为有序链表。需要用到一个虚拟头结点去指向每个...
2021-07-23
0
341
插入查找
一、思路 二、注意点 将上面公式推导一遍方可知道mid自适应的巧妙之处 找到的mid为数组的下标,并非是中间下标对应的值。所有切记 findVal 比较的是 array[mid] int mid = left + (right – left) * (findVal – arr[left]) /...
2021-07-21
0
481
二分法查找
一、思路 二、注意 结束条件一定是left >= right 就结束了 当查找的值在数组中存在多个值时,就需要在值对应数组下标的左右两边进行查找,看是否有相同值。并将其保存在集合中 查找到最后永远都是 mid == findVal的。 比较查找的值findVal 是否大于中间下标对应的值...
2021-07-21
0
385
归并排序
一、思路 说明:可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递归拆分子序列的过程。 二、结论 当左边的下标小于右边下标时,可以进行拆分,左边拆完拆右边 当左右两边拆分到只有单个元素时,方可进行合并。 合并时要知道每组的中间下...
2021-07-19
0
345
首页
上一页
1
2
下一页
末页