
数据结构_二叉树节点
简述 任何一个节点都有两个强引用指向左右子节点,以及一个弱引用指向它的父节点。节点还包括一个key成员保存数据内容。 实现
简述 任何一个节点都有两个强引用指向左右子节点,以及一个弱引用指向它的父节点。节点还包括一个key成员保存数据内容。 实现
简述 从数据的第一个元素开始,依此比较,直到找到目标或者查找失败 复杂度 时间复杂度 N 实现 优化
时间复杂度 O(1) O(logn) O(n) O(nlogn) O(n^2) O(n^3) O(2^n) O(n!) O(n^n) $$ O(1) < O(log_n)<O(n)<O(nlog_n)<O(n^2)<O(n^3)<O(2^n)&...
定义 假设文本是一个长度为n的数组 T[1...n],而模式是一个长度为m的数组P[1...m],其中m<=n。进一步假设P和T的元素都是来自一个有限字母集合M的字符。如M={0,1}或者M={a,b,c,...z}。 字符数组P和T通常称为字符串。 原理 假设 M={0,...
简述 桶排序需要创建若干个桶来协助排序。 所谓桶,每个桶bucket代表一个区间范围,里面可以承载一个或多个元素。 复杂度 名称 最好 平均 最差 空间 稳定性 桶排序 n+k n nlog(n) n 是 实现 算法导论 桶排序思想,假设对数组A[p...r]排序,首先将这些元素...
基于算法思想 比较排序 冒泡排序(Bubble Sort): 反复交换相邻的逆序元素 快速排序(Quick Sort): 通过分区交换来排序,递归地对分区进行排序 堆排序(Heap Sort): 利用堆结构进行排序,构建最大堆,然后依次将最大元素移到数组末尾 归并排序(Merge...
字符串匹配 字符串匹配的形式化定义如下:假设文本是一个长度为n的数组 T[1...n],而模式是一个长度为m的数组P[1...m],其中m<=n。进一步假设P和T的元素都是来自一个有限字母集合M的字符。如M={0,1}或者M={a,b,c,...z}。 字符数组P和T通常称...
简述 计数排序适用于对一定范围内的元素进行排序。 它的思路就是创建一个范围性的计数数组,用下标去对应元素的值,有几个元素,相应下面命中几次。然后根据元素命中次数对下标值进行一次输出,得到的序列就是有序的序列。 它是不需要进行元素比较。 注意: 当数列最大和最小值差距过大时,不适合...
BFS 概述 广度优先搜索(Breadth-First Search,简称 BFS)是一种遍历或搜索图或树数据结构的算法 它从根节点开始,沿着树的宽度遍历节点(即先访问同一层级的所有节点,再访问下一层级的节点) 在图中,BFS 从起始节点开始,探索所有邻居,然后依次遍历每个邻居的...
定义 假设文本是一个长度为n的数组 T[1...n],而模式是一个长度为m的数组P[1...m],其中m<=n。进一步假设P和T的元素都是来自一个有限字母集合M的字符。如M={0,1}或者M={a,b,c,...z}。 字符数组P和T通常称为字符串。 原理 有限自动机 定义...
搜索当前标签