
算法
珍可
这个作者很懒,什么都没留下…
展开
-
排序算法--希尔排序(JAVA)
1.希尔排序思想(1)希尔排序是直接插入排序算法的一种更高效的改进版本; (2)方法一般是:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组,所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2原创 2015-04-19 17:42:54 · 394 阅读 · 0 评论 -
Min Stack (JAVA实现)
题目:Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.原创 2015-06-01 17:58:28 · 783 阅读 · 0 评论 -
Best Time to Buy and Sell Stock III(JAVA)-动态规划
题目: Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete at most two transactions.原创 2015-05-28 17:34:54 · 469 阅读 · 0 评论 -
Best Time to Buy and Sell Stock(JAVA)--动态规划
题目: Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock原创 2015-05-27 18:03:31 · 640 阅读 · 0 评论 -
Best Time to Buy and Sell Stock II(JAVA)--贪心算法
题目内容: Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, bu原创 2015-05-27 17:43:46 · 336 阅读 · 0 评论 -
排序算法--冒泡排序(java)
排序算法–冒泡排序(java)冒泡排序思想从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。原创 2015-04-11 18:56:05 · 398 阅读 · 0 评论 -
排序算法--归并排序(JAVA)
1.归并排序思想(参考百度百科)(1)归并排序主要采用了分治法(Divide and Conquer)的思想。是指将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(或有序表)。 (2)速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。原创 2015-04-24 15:33:49 · 340 阅读 · 0 评论 -
排序算法--计数排序(java)
排序算法--计数排序(java)1、计数排序的思路:对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数。然后根据这个数将x直接存放到最终的输出序列的正确位置上。2、算法思路设需要排序的序列 a=[43,37,42,44,38,42,44]首先找出序列a中的最大值max和最小值min,对其做差记为k;定义数组c[k+1](下标0--k分别表示与a序列中最原创 2015-04-09 18:24:30 · 465 阅读 · 0 评论 -
排序算法--直接插入排序(JAVA)
1.直接插入排序思路(1)思想:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 (2)做法:第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。原创 2015-04-19 17:24:39 · 611 阅读 · 0 评论 -
排序算法--快速排序(java)
快速排序基本思想 (1)先从数列中取出一个数作为基准数。 (2)分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 (3)再对左右区间重复第二步,直到各区间只原创 2015-04-11 19:06:21 · 441 阅读 · 0 评论 -
N-Queens(N皇后问题) --Java版
问题:The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.原创 2015-06-09 18:06:38 · 1023 阅读 · 0 评论