-
LRU 算法 Java 实现
定义 Least Recently Used 最近最少使用,是一种常用的页面置换算法。 选择最近最久未使用的数据予以淘汰。 LinkedHashMap publ
-
算法:字典序排序
题目 给定一个整数n,返回从1到n的字典顺序。 示例 给定n=13,返回[1,10,11,12,13,2,3,4,5,6,7,8,9]。 请尽可能的优化算法的时
2021-02-28, Views: 2363 , Topics: 算法
-
算法:二叉树的啮齿形层序遍历(蛇形遍历)
示例 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 3 / \ 9
2021-02-27, Views: 2049 , Topics: 算法
-
算法:翻转二叉树的左右节点
示例 翻转一棵二叉树。 4 / \ 2 7 / \ / \ 1 3 6 9 输出 4 / \
2021-02-26, Views: 1730 , Topics: 算法
-
算法:买卖股票的最佳时机
题目 给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。 你只能选择某一买入这只股票,并选择在未来的某一个不同的日子卖出该
2021-02-25, Views: 2029 , Topics: 算法
-
算法:无重复字符的最长子串
题目 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例一 输入: s = "abcabcbb" 输出: 3 解释: 因为
2021-02-24, Views: 1446 , Topics: 算法
-
算法:数组中的第 K 个最大元素
题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 可以假设k总是有效的,且1
2021-02-23, Views: 1454 , Topics: 算法
-
算法:二叉树的层序遍历
要求 例如:以下二叉树按4 2 7 1 3 6 9顺序输出,一层一层输出。 4 / \ 2 7 / \ / \ 1 3
2021-02-21, Views: 1642 , Topics: 算法
-
算法:计算二叉树的高度
Java 实现 public class TreeHeight { public static void main(String[] args) {
2021-02-17, Views: 2321 , Topics: 算法
-
算法:二叉排序树的添加、查找和删除
定义节点和二叉排序树 type BinarySortTree struct { root *Node } type Node struct {
2021-02-15, Views: 1735 , Topics: 算法
-
算法:使用深度优先搜索对二叉树遍历、查找和删除
说明 深度优先搜索使用递归实现二叉树的前序,中序和后序遍历、查找和删除。 前序遍历 先输出父节点,再遍历左子树和右子树。 中序遍历 先遍历左子树,再输出父节点,
2021-02-14, Views: 2043 , Topics: 算法
-
算法:二分查找
循环法 func main() { arr := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9} fmt.
2021-02-10, Views: 1887 , Topics: 算法
-
算法:快速排序
算法演进 以数组中间索引的元素为中轴值,分组左右两边两个数组。 左边数组遍历找到一个大于中轴值的数,右边数组遍历找到一个小于中轴值的数,进行交换,遍历完成,左边
2021-02-09, Views: 1919 , Topics: 算法
-
算法:希尔排序
算法演进 首次按数组的长度除以2为分组步长,若步长大于1,则再次分组,以首次得到的步长再除以2为步长,以此类推分组,直至步长为1。 以[8, 9, 1, 7,
2021-02-08, Views: 1353 , Topics: 算法
-
算法:插入排序
算法:插入排序 算法演进 将数组看作两个数组,前一部分为有序数组(已排好序),后一部分为无序数组(待排序)。 以[10, 20, 5, 0]数组为例。 [10
2021-02-07, Views: 1291 , Topics: 算法
-
算法:选择排序
算法演进 假定第0位索引对应元素值最小。 第一次循环从第1位索引开始,与第0位索引对应的元素对比,如果第1位索引对应的元素比第0位索引对应的元素小,交换元素对
2021-02-05, Views: 1402 , Topics: 算法
-
算法:冒泡排序
算法演进 第一次从数组第0位索引开始遍历到数组最后一位将最大值置换至最后一位。 第二次从数组第0位索引开始遍历到数组最后第二位将最大值置换至最后第二位。 第三
2021-02-04, Views: 1355 , Topics: 算法
-
排序算法
内部排序 需要将所有数据都加入到内存中。 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 交换排序 冒泡排序 快速排序 归并排序
2021-02-03, Views: 1450 , Topics: 算法
-
算法的时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度 算法的时间复杂度 计算程序执行时间 事后统计:打印程序的耗时时间,依赖于计算机硬件等因素,需在同一台计算机相同状态运行程序才准确。
2021-02-02, Views: 1264 , Topics: 算法
-
算法:递归-八皇后问题
说明 一维数组即可表示。 数组的索引i表示第i+1行皇后。即:索引从0开始,表示第1行。 元素的值arr[i]=value,value表示第value+1列。若
2021-02-01, Views: 1906 , Topics: 算法