Data structure and algorithm
Joy CR
欢迎关注我的公众号: 小秋的博客
https://blog.csdn.net/xiaoqiu_cr
https://github.com/crr121
https://segmentfault.com/u/chenrong_flying
联系邮箱:rongchen633@gmail.com
展开
-
二叉树
文章目录满二叉树定义性质完全二叉树定义性质满二叉树定义除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是**(2^k) -1** ,则它就是满二叉树。从图形形态上看,满二叉树外观上是一个三角形。从数学上看,满二叉树的各个层的结点数形成一...原创 2019-03-05 17:09:11 · 1533 阅读 · 0 评论 -
简单选择排序
文章目录简单选择排序的工作原理时间复杂度分析案例分析代码实现简单选择排序的工作原理选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的...原创 2019-03-05 17:09:49 · 37140 阅读 · 4 评论 -
堆排序
文章目录什么是堆堆的性质堆节点的访问最大堆和最小堆的应用堆排序的概念堆排序的原理堆排序的特点维护堆的性质MAX-HEAPIFY(A,i)建堆BUIL-MAX-HEAP(A)堆排序算法堆排序算法的实现优先队列什么是堆堆(heap)是计算机科学中的一种特别的树状数据结构。若是满足以下特性,即可称为堆:“给定堆中任意节点 P 和 C,若 P 是 C 的母节点,那么 P 的值会小于等于(或大于等于) ...原创 2019-03-05 17:10:12 · 295 阅读 · 0 评论 -
快速排序
文章目录快速排序的具体过程代码演示分治排序的具体过程简洁代码参考博客快速排序的具体过程代码演示分治排序的具体过程import java.util.Arrays;public class QuickSort { public static void sort(int a[], int left, int right) { System.out.println(Ar...原创 2019-03-05 17:14:57 · 118 阅读 · 0 评论 -
动态规划
文章目录重温动态规划~什么是动态规划如何设计一个动态规划算法动态规划实例问题一:钢条切割问题带备忘的自顶向下法带备忘的自顶向下法实现钢条切割问题动态规划实例问题二:矩阵连乘问题什么时候该用动态规划来做估算动态规划的时间复杂度重温动态规划~今天刷leetcode:198. House Robber时用到了动态规划,看的是一个小哥哥的视频讲得灰常的清晰明了,推荐原创 2019-08-12 18:02:53 · 546 阅读 · 0 评论