Giter Club home page Giter Club logo

algorithm's Introduction

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

笔记清单,持续更新

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

随机函数变换相关技巧

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

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

反转链表系列问题

用单链表实现栈和队列

删除链表指定节点

两个链表相加问题

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

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

位图的设计与实现

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

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

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

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

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

重建二叉树问题

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

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

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

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

二叉树路径总和系列问题

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

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

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

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

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

栈和队列相关的一些问题

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

与堆和堆排序相关的问题

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

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

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

加强堆结构说明

使用加强堆解决 topK 问题

更多

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

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

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

algorithm's People

Contributors

greyzeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.