hiparker / DataStructure-Algorithm

数据结构和算法 - 练习

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DataStructure-Algorithm

数据结构和算法 - 练习

algorithm 算法

  1. array 数组相关算法
    1. 数组合并
  2. base
    1. Log2N
  3. binary 二进制
    1. 二进制 求奇数偶数
    2. 二进制 求1存在的次数
    3. 二进制 交换数字
  4. binaryTree 二叉树
    1. 拷贝二叉树
    2. 谷歌面试题折纸 - 二叉树遍历解
    3. 二叉树 - 求二叉树最宽的层有多少个节点
    4. 二叉树 - 获取二叉树的节点数
    5. 二叉树 - 获取二叉树的深度
    6. 二叉树 - 获取二叉树的叶子节点数
    7. 二叉树 - 判断最大两点距离
    8. 二叉树 - 最低公共祖先
    9. 二叉树 - 获取这棵二叉树最大搜索子树的头节点
    10. 二叉树 - 判断是否是平衡二叉树
    11. 二叉树 - 判断是否是平衡二叉树
    12. 二叉树 - 判断当前树是否是一棵搜索二叉树
    13. 二叉树 - 判断当前树是否是一棵完全二叉树
    14. 二叉树 - 判断当前树是否是一棵满二叉树
    15. 多叉树 - 派对最大快乐值
  5. graph 图算法
    1. 广搜
    2. 深搜
    3. 最小生成树
    4. 最短路径
  6. greed 贪心算法
    1. 安排会议
    2. 黄金分割
    3. 路灯问题
  7. hash 算法
    1. 一致性hash环
  8. leecode
    1. 两数之和(简单)
    2. 字母异位词分组(中等)
    3. 最长连续序列(中等)
    4. 移动零(简单)
    5. 盛最多水的容器(中等)
  9. 链表算法
    1. 链表快慢指针
    2. 链表 相交
    3. 反转链表
    4. 链表 回文判断
    5. 链表 分区
    6. 链表 Randome随机节点 克隆
  10. 荷兰国旗问题
    1. 经典排序(荷兰国旗问题)
    2. 简单排序(不强制要求左右两边顺序)
  11. 递归算法
    1. 递归查询列表最大值
    2. 求小和
  12. 线性表查找
    1. 线性表 二分查找
    2. 线性表 哨兵查找 (非线程安全)
  13. 排序算法
    1. 二分排序
    2. 冒泡排序
    3. 直接插入排序
    4. 堆排序
    5. 归并排序
    6. 快速排序
    7. 随机快速排序
    8. 简单选择排序
    9. 希尔排序
  14. 栈和队列算法
    1. 十进制转换
    2. 男女分组 (队列实现)
    3. 判断正确括号表达式(栈实现)
    4. 栈转队列
    5. 队列转栈
    6. 求栈的最小值
  15. 字符串算法
    1. BF 暴力匹配
    2. KMP 匹配
    3. 交替合并字符串
    4. 字符串全排列 穷举法
    5. 拥有最多糖果的孩子
    6. 种花问题
    7. 病毒DNA 匹配
  16. 树算法
    1. 树 转 二叉树
  17. 并查集
    1. 用户渠道并集查

structure 数据结构

  1. 二叉树
  2. 顺序表、链表
  3. 栈、队列

About

数据结构和算法 - 练习


Languages

Language:Java 100.0%