README.md

    算法和数据结构(Java 实现)

    笔记清单,持续更新

    算法和数据结构学习中的一些小的工具函数

    随机函数变换相关技巧

    几种简单排序(冒泡排序,插入排序,选择排序)算法介绍

    使用二分法来解决的一些问题

    反转链表系列问题

    用单链表实现栈和队列

    删除链表指定节点

    两个链表相加问题

    合并两个及以上有序链表问题

    链表K个节点的组内逆序调整问题

    位图的设计与实现

    使用位运算技巧实现加减乘除

    使用位运算技巧比较两个数的大小

    二叉树的先,中,后序遍历(递归,非递归)

    相同二叉树和镜面二叉树问题

    二叉树的最小(大)深度问题

    重建二叉树问题

    二叉树的按层遍历相关问题

    • 类似问题一: 二叉树自底向上层序遍历
    • 类似问题二:以数组的形式返回每一层节点的平均值
    • 类似问题三:填充每个节点的下一个右侧节点指针

    使用二叉树的递归套路来解决的问题

    • 判断一棵树是否为平衡二叉树
    • 判断一棵树是否为搜索二叉树
    • 判断一棵树是否为完全二叉树

    二叉树路径总和系列问题

    与归并排序相关的一些问题

    • 归并排序递归和非递归解法
    • 合并两个有序数组
    • 计算右侧小于当前元素的个数问题
    • 2倍逆序对问题
    • 区间和的个数问题

    荷兰国旗问题与快速排序算法

    找到数组中出现特定次数数字的问题

    • 一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数?
    • 一个数组中有两种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这两种数
    • 一个数组中有一种数出现 k 次,其他数都出现了 m 次,m > 1, k < m, 找到出现了 k 次的数

    栈和队列相关的一些问题

    • 最小栈
    • 用双向链表实现双端队列
    • 栈和队列之间互相实现
    • 数组实现固定大小的队列

    与堆和堆排序相关的问题

    • Heapify
    • HeapInsert
    • Heap Sort
    • 几乎有序数组的排序问题

    与堆有关的问题:线段最大重合区域问题

    • 连接点算重合区域
    • 连接点不算重合区域

    加强堆结构说明

    使用加强堆解决 topK 问题

    更多

    算法和数据结构学习笔记:CSDN

    算法和数据结构学习笔记:博客园

    算法和数据结构学习代码: Github

    项目简介

    算法和数据结构学习

    发行版本

    当前项目没有发行版本

    贡献者 1

    GreyZeng @hotonyhui

    开发语言

    • Java 100.0 %
    • Batchfile 0.0 %