常用的基本算法

武器吧管理

冒泡排序:对数组中的一个元素,如果它比后一个元素大,那么交换两者的位置

(不管是否交换,都和后面的所以元素对比一次)


public static int[] sort(int[] ints) {

int i, j, temp;

for (i = 0; i < ints.length - 1; i++) { //外层循环控制排序趟数

for (j = 0; j < ints.length - 1 - i; j++) { //内层循环控制每一趟排序多少次

if (ints[j] > ints[j + 1]) {

temp = ints[j];

ints[j] = ints[j + 1];

ints[j + 1] = temp;

}

}

}

return ints;

}

主 楼 发布于:2017-09-28 00:22:59回复
旅行者

选择排序:以当前位置元素为最小值,遍历它后面的每个元素,获取它们的最小值,然后和当前元素交换

(不管当前元素是不是最小值,都进行交换)


public static void selectSort(int[] toSort) {

int i, j, min, temp;

for (i = 0; i < toSort.length; i++) {

for (min = i, j = i + 1; j < toSort.length; j++)

if (toSort[min] > toSort[j])

min = j;

temp = toSort[min];

toSort[min] = toSort[i];

toSort[i] = temp;

}

}

2 楼 发布于:2017-09-28 00:23:55
回复
旅行者

插入排序:如果当前元素比前一个元素小,那么把当前元素前移一位,以此类推。


public static void sort(int[] toSort) {

int i, j, key;

for (i = 1; i < toSort.length; i++) {

key = toSort[i]; //将第 i 个元素的值赋给 key

for (j = i - 1; j >= 0 && toSort[j] > key; j--) //如果空位左侧的元素 toSort[j] 比 key 大,那么 ↓

toSort[j + 1] = toSort[j]; //toSort[j + 1] 为空位,将其左侧的值右移,同时形成新空位

toSort[j + 1] = key;

}

}

3 楼 发布于:2017-09-28 00:24:53
回复
旅行者

二分查找:对一个数组,判断中点是否目标,如果不是,有二选择:

小于时高位左移;

大于时低位右移。

重复判断


public static int binarySearch(int[] ints, int des) {

int low = 0; //第一个位置

int high = ints.length - 1; //最高位置.数组长度-1,因为下标是从0开始的

while (low <= high) { //当low"指针"和high不重复的时候

int middle = (high + low) / 2;

if (des == ints[middle]) { //与最中间的数字进行判断,是否相等,相等的话就返回对应的数组下标

return middle;

} else if (des < ints[middle]) {

high = middle - 1; //如果小于的话则移动最高层的"指针"

} else {

low = middle + 1; //移动最低的"指针"

}

}

return -1;

}

4 楼 发布于:2017-09-28 00:26:11
回复
旅行者

数据结构:树


每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树



节点的度:一个节点含有的子树的个数称为该节点的度;

叶节点或终端节点:度为0的节点称为叶节点;

非终端节点或分支节点:度不为0的节点


树的度:一棵树中,最大的节点的度称为树的度;

节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;

树的高度或深度:树中节点的最大层次;


为什么使用树:

树结合了两种数据结构的有点:一种是有序数组,树在查找数据项的速度和在有序数组中查找一样快;另一种是链表,树在插入数据和删除数据项的速度和链表一样。

5 楼 发布于:2017-09-28 00:27:12
回复
郑越与焕柳的~

楼主快去捡肥皂吧

6 楼 发布于:2017-10-26 23:22:06
回复
神级不虐菜哇

胖女士:我最讨厌自动报体重的电子秤!旁人问:为什么?它会大声报出你的体重?胖女士愤怒地说:不!它每次都大叫一次只限一人!

7 楼 发布于:2017-11-01 07:38:00
回复
正常6523

我以为我颓废,原来我报废了!

8 楼 发布于:2017-11-04 22:58:41
回复
汇缘分

在漫漫人生的旅途上,我们差点擦肩而过,是你轻轻的拉住了我的手,真希望这双温暖的手永远牵着我!

9 楼 发布于:2017-12-03 15:33:14
回复
苹果售后换机

怒顶

10 楼 发布于:2018-01-09 23:24:59
回复
逆天A小强

网络就像是监狱,本来是偷了个钱包进来的,等出去的时候就什么都学会了。

11 楼 发布于:2018-02-13 01:12:11
回复
旅行者

可以呀


12 楼 发布于:2018-02-13 22:28:37
回复
綿綿爱58

早知道前世的五百次回眸,能换来今生的与你相遇。我就该把头甩断,来换这一辈子与你相遇。

13 楼 发布于:2018-03-06 14:36:43
回复
相爱永不渝

你担心受到伤害,担心失去心爱的人,可是,不是你担心了,事情就不会发生,反而你的消极对事情百害而无一利。为什么不能自信一点、豁达一点呢?

14 楼 发布于:2018-04-01 10:34:25
回复
易通珊珊

一位老太太不识字,但喜欢听收音机,气象预报每天必听。一天吃饭时问家人:“我有个问题想问问,你们知道局部地区在什么地方?那儿差不多天天有雨。”

15 楼 发布于:2018-07-07 09:32:46
回复
边城浪子

多情是傻,无情最酷,痴情是蠢,绝情是懂得世故。只爱一个有点傻,爱上两个最起码,三个五个刚合适,十个八个才潇洒。

16 楼 发布于:2018-10-24 10:41:30
回复
管理yuan是dog

这是个地老天荒的故事,在很久以前有一个小伙子失去了他心爱的姑娘,他沥尽千辛万苦来到姑娘面前,姑娘深情地对他说……滚

17 楼 发布于:2018-11-03 21:35:01
回复
企鹅饼干

爱情没有那么美,付出再多不后悔,爱情真的那么累,再多辛苦无所谓,因为爱,所以爱,只要你明白!

18 楼 发布于:2019-01-07 10:54:24
回复
保证好东西啊

求舅舅党爆料

19 楼 发布于:2023-10-14 19:23:01
回复

发表回复: