算法和数据结构学习中的一些小的工具函数
随机函数变换相关技巧
几种简单排序(冒泡排序,插入排序,选择排序)算法介绍
使用二分法来解决的一些问题
反转链表系列问题
用单链表实现栈和队列
删除链表指定节点
两个链表相加问题
合并两个及以上有序链表问题
链表K个节点的组内逆序调整问题
位图的设计与实现
使用位运算技巧实现加减乘除
使用位运算技巧比较两个数的大小
二叉树的先,中,后序遍历(递归,非递归)
相同二叉树和镜面二叉树问题
二叉树的最小(大)深度问题
重建二叉树问题
二叉树的按层遍历相关问题
- 类似问题一: 二叉树自底向上层序遍历
- 类似问题二:以数组的形式返回每一层节点的平均值
- 类似问题三:填充每个节点的下一个右侧节点指针
使用二叉树的递归套路来解决的问题
- 判断一棵树是否为平衡二叉树
- 判断一棵树是否为搜索二叉树
- 判断一棵树是否为完全二叉树
二叉树路径总和系列问题
与归并排序相关的一些问题
- 归并排序递归和非递归解法
- 合并两个有序数组
- 计算右侧小于当前元素的个数问题
- 2倍逆序对问题
- 区间和的个数问题
荷兰国旗问题与快速排序算法
找到数组中出现特定次数数字的问题
- 一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数?
- 一个数组中有两种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这两种数
- 一个数组中有一种数出现 k 次,其他数都出现了 m 次,m > 1, k < m, 找到出现了 k 次的数
栈和队列相关的一些问题
- 最小栈
- 用双向链表实现双端队列
- 栈和队列之间互相实现
- 数组实现固定大小的队列
与堆和堆排序相关的问题
- Heapify
- HeapInsert
- Heap Sort
- 几乎有序数组的排序问题
与堆有关的问题:线段最大重合区域问题
加强堆结构说明
使用加强堆解决 topK 问题
算法和数据结构学习笔记:CSDN
算法和数据结构学习笔记:博客园
算法和数据结构学习代码: Github