
算法学习
罚站的孩子
很多时候,真正让我们感到为难的并不是事物本身,而是我们那颗尚未开始的、就已经退却的心。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法之快速排序
/*written by little bear*/ /*核心思想:寻找基准数,先从右(j--)到左找比基准数小的,再从左向右找(i++), 交换,如果i==j,和基准数调换位置,继续...... */ /*快速排序的时间复杂度:最差O(n^2),最好O(NlogN)*/ #include int a[101], n;//定义全局变量,这两个变量需要在子函数中使用。 void qui原创 2016-07-28 01:50:12 · 204 阅读 · 0 评论 -
递归求排列
递归求排列组合 转载:http://peng5047.iteye.com/blog/961592 排列、组合我们都很熟悉,为了更好的分析问题,我们用A(n,m)表示从n个元素中取出m个元素的不同组合数,用C(n,m)表示从n个元素中取出m个元素的不同排列数。 根据排列组合的性质有如下公式成立: 1.A(n,m) = n!/m! 2.A(n,m) = m*A(n-1,m-1) +转载 2016-07-28 14:31:09 · 1257 阅读 · 0 评论 -
深度搜索
深度搜索 基本模型: void dfs(int step){ 判断边界 尝试每一种可能for(i=1;i 继续下一步dfs(step+1); } 返回; } 实质:从问题的某一种可能性出发,找出从这种情况出发的、可以满足条件的所有的解; 尽可能的“深”的探索某一分支,如假设从a情况出发原创 2017-03-27 12:37:44 · 525 阅读 · 0 评论 -
堆排序(java实现)
堆排序 什么是堆结构? 堆结构是一种树结构,准确说是一种完全二叉树结构。树中的每一个结点对应着原始数据的一个记录,每个结点应满足: 大顶堆:从小到大排列,要求非叶结点的数据要大于等于其左右结点的数据 小顶堆:从大到小排列,要求非叶结点的数据要小于等于其左右结点的数据 由此可知,如果按照从小到大输出数据时,堆结构的根节点为要求的最大值。 如何进行堆排序? 步骤:构造堆结构+堆排序输出 -1...原创 2018-06-13 11:36:03 · 155 阅读 · 0 评论 -
冒泡排序(java实现)
a.基本思想:每一次排序后找到最大的一个数 对于数组中的各数据,依次比较相邻的两个元素的大小 如果前面的数据大于后面的数据,交换着两个数据,一轮比较可以得到最小的数据。 使用同样的方法对剩下的数据进行比较,最后全部排好序 2.举例实现: 假设有n个数,对其进行冒泡排序,从小到大输出结果 package com.linchong.bubblesort; /** ...原创 2018-06-13 11:47:27 · 248 阅读 · 0 评论 -
插入排序(java实现)
插入排序 概述:通过对未排序的数据执行逐个插入至合适的位置而完成排序工作[核心:找合适的插入位置+插入数据] 插入算法通过插入和排序实现排序,其步骤流程如下: 首先对数组的前两个数据进行从小到大排序 接着将第3个数据与排序好的两个数据进行比较,将第3个数据插入到合适的位置 然后将第4个数据插入到已经排序后的前3个数据中 不断重复上述过程,直到把最后一个数据插入到合适的位置 举例 有...原创 2018-06-13 13:34:43 · 151 阅读 · 0 评论 -
选择排序(java实现)
选择排序 概述: 选择排序就是在每一步中选取最小值来重新排列,从而达到排序的目的 选择排序通过选择和排序来实现排序,基本步骤如下: 1.首先从原数组中选择最小的数据,将其和位于第一个位置的数据进行交换 2.接着从剩下的n-1个数据中选择次小一个元素,将其和第2个位置的数据进行数据交换 3.然后不断的进行重复,直到最后的两个数据完成交换 举例实现 有n个正整数,使用选择排序对其进行排序 ...原创 2018-06-13 13:52:01 · 167 阅读 · 0 评论 -
希尔排序(java实现)
希尔排序 概述:基于插入排序思想,又称为希尔排序或减小增量排序 排序的流程如下: 1.将有n个元素的数组分为n/2个数组数列,第1个数据和第n/2+1个数据为一对,…… 2.一次循环使每一个序列对排好顺序 3.然后,在变为n/4个序列,再次排序 4.不断重复上述过程直到序列(间隔)减少变为一个,也就完成了整个排序 希尔排序其实就是插入排序,只不过插入排序的插入位置的变化幅度小,为1,而希尔排...原创 2018-06-13 14:01:10 · 289 阅读 · 1 评论