抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

并查集 — 1

并查集连通性问题: 基于染色的思想,一开始所有点的颜色不同 连接两个点的操作,可以看成将一种颜色的点染成另一种颜色 如果两个点颜色一样,证明联通,否则不联通 这种方法叫做并查集的:【Quick-Find算法】 Quick-Find 近似$ O(1) $查询 Quick-Find 默认的做法吧前一个数字的颜色改成后一个颜色(大白话:就是让4接到3后面,让3作为根节点) 这里要说明一下 : 无...

并查集 — 2

[TOC] 并查集(Union Find)并查集主要讲的就是连通性问题 比如说现在咱们这个教学楼,被大水淹了比如说一楼和其它楼层都被大水淹了,就唯独咱们教室没有,可以说明什么,咱们现在就是与世隔绝了,之后呢就被大水淹没的个个楼层水是不是都可以来回走,比如流到了咱们教室恰巧关上了们,之后水就没流进来,说明什么咱们现在是与这个教学楼的一间教室都不连图,如果说咱们与隔壁是连通的,而且咱们隔壁还被大...

堆与优先队列

回顾 - 二叉树完全二叉树 编号为 i 的字节点 左孩子编号 :2 * i 右孩子编号 :2 * i + 1 可以使用连续空间存储 (数组) 堆 大顶堆 在任意一个三元组中 根 大于左孩子和右孩子 12 - 11 - 10 根节点 (极大) 全局最大 小顶堆 在任意一个三元组中 根 小于左孩子和右孩子 3 - 7 - 4 根节点 (极小) 全局最小 堆 - 尾...

哈希表

哈希表 通过数组下标索引到值 任意类型映射成一个整型 (下标) 简单举例 val % size 假如 val = 16、size = 9 16 % 9 = 7 (下标) 假如 val = 7、size = 9 7 % 9 = 7 (下标) 产生冲突了 - 优秀的哈希都会冲突 下标 0 1 2 3 4 5 6 7 ...

二分查找与三分查找

二分查找 (折半查找)条件 单调性 - (一般单调递减) 特殊情况 - 1 查找第最后出现的 1 如果待查值不存在的情况可以设置一个虚拟头 特殊情况 - 2 查找第一个 1 如果待查值不存在的情况可以设置一个虚拟尾 时间复杂度 平均复杂度 : $O(log^N)$ 三分查找

排序合集 5 种 - 插入、冒泡、归并、选择、快排

排序算法分类 稳定 :( 插入、冒泡、归并) 非稳定 (不稳定) :(选择、快排) 内部 :(整体一次性的加入到内存当中,整体的去排序) 外部 : (对一个数据文件排序的话可以不将整个文件都加载到内存里面进行排序 - 归并! ) 插入排序 (insert_Sort)口诀 : 将数组分成【已排序区】 和 【待排序区】 将【待排序区】第一个元素,向前插入到【已排序区】 直到【待排序区】...

广义表转二叉树

代码实现广义表还原二叉树 (栈原理)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394...

树与二叉树

树根节点 可以看成一个集合 链接的线可以看成关系 跟节点下面的子集 怎么判断机叉树:其中某个节点最多的子孩子个数 下面就是一个三叉树 树的高度-深度 节点4深度 2 是从根节点向下看 节点4高度 4 是从节点8向上看是4 从节点6向上看是 2 取最大 4 节点4高度 分层看 也是4 什么是节点的度 数据结构的理解 度 = 出度 + 入度 图 在数据结构树的描述中 度 &#x...

栈与队列

队列 (FIFO)结构操作:尾部入队、头部出队(排队做核酸!捅一个走一个 哈哈哈!) FIFO first in firas out : 先进先出 结构定义: 队列长度 (length) 队头位置 (head) 队尾位置 (tail) 任意类型元素 (data_type) (int \ char) 连续空间存储 循环队列在队列结构定义之上 count 计数 (count) 可判断满和空 ...

链表

单向链表结点组成部分 数据域 - data 指针域 - next / 后继 插入 - 结点 把待插入数据创建成一个结点 把待插入结点指向新建结点的next 把待插入结点前一个结点的next指向新建结点 代码演示 - 单向链表123456789101112131415161718192021222324252627282930313233343536373839404142...