博客专栏  >  综合   >  基本算法

基本算法

基本算法的讲解加实现,让算法学习更简单。

关注
2 已关注
18篇博文
  • 基本算术编码

    1.基本思想 算术编码,就是用一个数编码一串字符串。

    2017-01-15 01:21
    603
  • LeetCode102 Binary Tree Level Order Traversal Java

    题目: Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to r...

    2016-04-23 14:20
    2599
  • LeetCode144 Binary Tree Preorder Traversal(迭代实现) Java

    题目: Given a binary tree, return the preorder traversal of its nodes’ values.For example: Given bin...

    2016-04-23 13:14
    1444
  • LeetCode94 Binary Tree Inorder Traversal(迭代实现) Java

    题目: Given a binary tree, return the inorder traversal of its nodes’ values. For example: Given bi...

    2016-04-22 21:05
    568
  • LeetCode145 Binary Tree Postorder Traversal(迭代实现) Java

    题目: Given a binary tree, return the postorder traversal of its nodes’ values.For example: Given bi...

    2016-04-21 18:57
    502
  • 基于最小优先级队列构造哈夫曼树 Java

    哈夫曼编码是一种前缀编码,也就是说,它编码的字符,任何一个字符的编码都不是另一个字符的前缀,这使得对哈夫曼编码进行解码变得容易。而使得哈夫曼编码是前缀编码的关键就是哈夫曼树。哈夫曼树也正是本文要说的。...

    2016-03-19 16:18
    1637
  • 证明利用快慢指针寻找有环单链表中环的起点算法

    问题:给定一个有环单链表,找到链表中环的起点,也就是说,找到下图中的单链表中Join点: (本图来源于http://www.cnblogs.com/xudong-bupt/p/3667729.h...

    2016-01-07 20:39
    1277
  • 将数组元素循环右移k个位置(Java实现)

    用四种方法实现了将数组元素循环右移k个位置,相关的解释作为注释放在代码里面了。 package movearrayelement; import java.util.BitSet; public...

    2015-08-26 21:17
    3078
  • Java实现桶排序

    详细讲解见《算法导论》8.4节——桶排序。 Java代码如下: package linetimesort; import java.util.LinkedList; import sort.Ins...

    2015-05-19 19:24
    1548
  • Java实现基数排序

    详细讲解见《2015版数据结构高分笔记》8.6节——基数排序。 Java代码如下: package linetimesort; import java.util.LinkedList; impo...

    2015-05-19 19:21
    993
  • Java实现计数排序

    详细讲解见《算法导论》8.2节——计数排序。 Java代码如下: package linetimesort; /** * 计数排序假设n个输入元素中的每一个都是介于0到k之间的某个整数,k为某个整数...

    2015-05-19 19:18
    738
  • Java实现快速排序

    快速排序是一个分治算法,它首先把数组分为两部分,然后对每一个部分递归的求解,但它不需要合并子问题的解。快速排序的伪代码如下: 其中,A是一个数组,p是数组中需要排序的子数组的开始下标,r是结束下标,...

    2015-05-18 21:38
    463
  • Java实现堆排序

    (二叉)堆是一个完全二叉树,分为大根堆和小根堆。大根堆是指树中除根结点外的所有结点的值都小于等于其父结点的堆;小根堆是指树中除根节点外的所有结点的值都大于等于其父结点的堆。从定义可知,大根堆的根结点是...

    2015-05-18 18:42
    389
  • Java实现归并排序

    问题:用归并排序算法对n个对象的数组进行升序排序。 归并排序算法描述: 分解:将n个元素分解成各含n/2个元素的字序列; 解决:用归并排序算法对两个子序列递归地排序; 合并:合并两个已排序的字序列得到...

    2015-05-10 13:51
    620
  • Java实现插入排序

    问题:用插入排序算法对n个对象的数组进行升序排序。 插入排序算法描述:插入排序的基本思想是,在一个已经排好序的子数组中查找一个位置,在找到的位置中插入一个元素,元素插入后,子数组依然有序。算法步...

    2015-05-08 14:11
    528
  • Java实现哈夫曼编码和解码

    题目:将一个字符串进行哈夫曼编码;编码过程中,会得到每个字符的编码,通过已知的每个字符的编码对之前的编码进行解码。

    2015-03-31 14:16
    3840
  • 最大子序列和问题

    这是在《数据结构与算法分析 Java语言描述中文第二版》里的一个问题。本文记载我对书中该问题的第四种解法的理解。 问题: 分析:数列的最大子序列必定是以j结尾的,其中,j属于[A1,AN]。首先,我们...

    2015-03-25 20:46
    581
  • 折半查找

    题目:给定整数x和整型数组a[],a中的元素已经从小到大排序,如果存在下标i使得x = a[i],则返回x,否则则返回-1。(利用折半查找实现)

    2015-03-22 18:25
    487

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部