- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 去除已排序链表中的重复元素
题目描述给定一个已排序的单链表,去除单链表中的重复元素,只保留一个重复的元素,并且返回新的单链表。例如: 给出1->1->2,你的函数调用之后必须返回1->2。输入一个已排序的单链表,例如1->1->2。输出返回1->2。
2016-09-17 17:50:55 2402 1
原创 去除已排序数组中的重复元素
题目描述给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度。要求: 不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作。例如: 给出数组A=[1,1,2],你的函数调用之后必须返回长度length=2,并且A现在变成[1,2]。输入:一个已排序的数组,例如[1,1,2]。输出:返回数组新的长度,例如length=2。
2016-09-16 21:19:34 3515
翻译 Java历史简介
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器1994年将Oak语言更名为Java1998年JDK1.2时,更名为Java 2 Platform 分为标准版J2SE,企业版
2016-09-08 21:33:55 42573 2
原创 常用排序算法总结10一一桶排序
桶排序(英文:Bucket Sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是比较排序,他不受到O(n log n)下限的影响。算法步骤桶排序以下列程序进行:
2016-09-06 21:49:47 1316
原创 常用排序算法总结9一一计数排序
计数排序(英语:Counting Sort)是一种稳定的线性时间排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。算法步骤找出待排序的数组中最大和最小的元素统计数组中每个值为i的元素出现的次数,存入数组 C 的第 i 项对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)反向填充目标数
2016-09-05 21:39:23 809
原创 常用排序算法总结8一一基数排序
基数排序(英语:Radix Sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。
2016-09-04 21:00:38 914
原创 常用排序算法总结7一一堆排序
在了解堆排序之前,我们有必要清楚“什么是堆呢?”。堆(英语:Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。
2016-09-03 21:27:41 759
原创 常用排序算法总结6一一快速排序
快速排序(英语:Quick Sort),又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现
2016-09-02 20:49:42 1153
原创 常用排序算法总结5一一希尔排序
希尔排序(英语:Shell sort),也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:1.插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率2.但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位
2016-09-01 17:30:41 1299
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人