一次次尝试

希望你成为你想要的模样

排序:
默认
按更新时间
按访问量
RSS订阅

快速排序算法

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以...

2018-07-04 23:01:24

阅读数 65

评论数 0

二分查找算法

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。查找过程首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后...

2018-06-11 19:24:08

阅读数 197

评论数 0

二元选择排序实例

二元选择排序简单选择排序:每趟循环只能确定一个元素排序后的定位。二元选择排序:我们可以考虑改进为每次循环确定两个元素(当前最大次和最小记录)的位置,从而减少排序所需的循环次数。private static void binarySelectSort(int[] arr){ in...

2018-06-11 12:32:47

阅读数 137

评论数 0

JAVA冒泡排序算法面试题

冒泡排序:以从小到大排序为例,每一轮排序就找出未排序序列中最大值放在最后。设数组的长度为N: (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。(3)N=N-1,如果N...

2018-06-11 12:16:03

阅读数 645

评论数 0

数据结构之头指针,头结点、首元节点详解

链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。这里有个地方要注意,就是对头指针概念的理解,这个很重要。“链表中第一个结点的存储位置叫做头指针”,如果链表有头结点,那么头指针就是指向头结点数据域的指针。画一个...

2018-05-12 01:05:03

阅读数 945

评论数 0

头结点

数据结构中,在单链表的第一个结点之前附设一个结点,称之为头结点。头结点的数据域可以不存储任何信息,头结点的指针域存储指向第一个结点的指针(即第一个元素结点的存储位置)。头结点的作用是使所有链表(包括空表)的头指针非空,并使对单链表的插入、删除操作不需要区分是否为空表或是否在第一个位置进行,从而与其...

2018-05-12 01:00:19

阅读数 161

评论数 0

算法复杂度之 空间复杂度(Java)

0、说明根据算法书上的定义,一个算法的空间复杂度包括算法程序所占用的空间,输入初始数据所占用的空间以及算法执行过程中所需要的额外空间。本文各种结论全部参考过标准文献,本人也进行过验证。验证过程本文不做说明。例如:当前主流虚拟机boolean类型运行时确实是1字节。部分与计算空间无关的细节也不做说明...

2018-05-12 00:02:20

阅读数 152

评论数 0

Java算法复杂度

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。1、时间复杂度    1.1 时间频度         ...

2018-05-12 00:02:11

阅读数 907

评论数 0

Java实现经典算法

经典算法的Java实现(1)河内塔问题: 42(2)费式数列 43(3)巴斯卡(Pascal)三角形 44(4)蒙地卡罗法求 PI 45(5)最大公因数、最小公倍数 46(6)阿姆斯壮数 47(7)最大访客数 48(8)洗扑克牌(乱数排列) 49(9)约瑟夫问题(Josephus Problem)...

2018-05-11 23:00:16

阅读数 528

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭