什么是插入排序!简单的介绍一下它的思想(假设为升序):在已经排好序的数组内,插入新的元素,从后往前找,当找到某个比它小的数,则停止,并将它插入这个与上一个数之间。先给大家看个图:
具体算法描述如下:
1.从第一个元素开始,因为只有一个元素,所以它有序。
2.拿它后面的一个元素和它进行比较。
3.它后面的元素比它大,把他往后移,并把它后面的元素赋给它原来的位置。
4.重复3的动作,...
分类:
编程语言 时间:
2015-04-10 22:10:50
阅读次数:
134
《算法》第4版作者是Robert Sedgewick 和 Kevin Wayne。 1. 选择排序 选择排序可以说是最简单的排序方法。首先,找到数组中最小的那个元素;其次,将它与数组的第一个元素交换位置(如果第一个元素就是最小元素,那么它就和自己交换);再次,在剩下的元素中找到最小的元素,将它...
分类:
编程语言 时间:
2015-04-10 21:52:26
阅读次数:
164
1.设计思想(在网上搜索的程序代码和思路,我们对其进行整理得到现在的思路)先宏定义m和n,分别为二维数组的行数和列数,在主函数中定义一个整型的二维数组,二维数组的元素由随机生成函数rand()生成,对于生成的二维数组,我们先计算出第一行中有关第一个元素的所有子数组,然后计算出第二个第三个直到第n个,...
分类:
其他好文 时间:
2015-04-08 23:10:22
阅读次数:
182
得到当前方法的名字
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
getStackTrace()返回一个表示该线程堆栈转储的堆栈跟踪元素数组。如果该线程尚未启动或已经终止,则该方法将返回一个零长度数组。如果返回的数组不是零长度的,则其第一个元素代表堆栈顶,它是该序列中最新的方法调...
分类:
其他好文 时间:
2015-04-08 16:26:38
阅读次数:
179
同学在群里发了一到笔试题:一个int数组里面有100个随机数,这些数中有重复的,请找出这100个数中每个不重复的数的重复次数。恩,大概就是这么个意思。。当时想了想,得出个List>这么个解决方法,思想就是从数组第一个元素开始遍历,然后将结果放到Map里面具体操作就是:数据:int[100]={1,2...
分类:
其他好文 时间:
2015-04-08 00:59:03
阅读次数:
125
数组 什么是数组? 数组是存储在一个连续的内存块中的元素集合 数组中的每个元素必须是相同的数据类型,并且通过索引 进行区分。 数组中的第一个元素的索引为0为什么要使用数组? 单一值类型变量有时候很难满足应用程序的设计要求。 数组类型变量可以同时存储多个同类型基础数据类型变...
分类:
编程语言 时间:
2015-04-07 13:41:03
阅读次数:
109
首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法交租选择排序。
package Sort;
/**
*
* Description: 选择排序
*
* @author zhangjunshuai
* @ver...
分类:
编程语言 时间:
2015-04-06 12:54:55
阅读次数:
162
思路:(1)需要了解前序遍历和和中序遍历的特点,前序遍历第一个元素即为根节点,然后再在中序遍历以这个根节点为界限得到宏观上的左子串和右子串,如下图(2)又可以将截取的子串分为新的子串问题,从而可以通过迭代来解决,(3)构建左子树:主要就是指针的运用,获取前序遍历左子串的起始地址和子串长度,中序遍历左...
分类:
其他好文 时间:
2015-04-05 20:14:13
阅读次数:
141
题意:从一个平移过的数组中找到最小的元素
思路1:最简单的思路莫过于排序然后取第一个元素,复杂度O(N*log(N))
代码1:
public class Solution {
public int findMin(int[] num) {
Arrays.sort(num);
return num[0];
}
}
思路2: 遍历,比较两段...
分类:
其他好文 时间:
2015-04-05 16:03:23
阅读次数:
78
Python迭代器迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。迭代器不能回退,只能往前进行迭代。这并不是什么很大的缺点,因为人们几乎不需要在迭代途中进行回退操作。常用的迭代方法有.next()方法for..in..方法迭代器通俗的理解就是...
分类:
编程语言 时间:
2015-04-05 11:46:21
阅读次数:
191