算法
xqn2017
大家好,我是一名目前在上海工作的入门码农,写博客是为自己的学习过程做个记录,同时也希望能认识更多的IT爱好者一起探讨技术或者生活琐事,有希望认识的同学可以加我QQ:380191204
展开
-
八皇后问题
八皇后问题描述大家都比较熟悉,就是在8*8的方格中放置8个皇后,使得8个皇后不在同一行、同一列以及不在对角线上,这样8个皇后才不会互相攻击,求放置的方法有多少种?答案就是92种。解题思路:假设用C[j]表示皇后在j行代表的列号,也即皇后的位置第j行第C[j]列采用行列表示为[j,C[j]],j和C[j]的值都是07,放置方法就是从第0行开始放置,然后放置第1行,第2行,……依次类推,放完了原创 2017-10-10 19:52:29 · 281 阅读 · 0 评论 -
快速排序、插入排序、归并排序
#include #include #include using namespace std;//快速排序void quicksort(int a[],int low, int high){ if(NULL == a || low <0||high<0) { return; } int key = a[low]; int i = low; int j = high;原创 2017-07-31 14:43:27 · 184 阅读 · 0 评论 -
DFS和BFS
#include #include #include #include using namespace std;#define MAX 100typedef struct{ int edges[MAX][MAX]; int n; int e;}MGraph;bool visited[MAX] = False;void CreateMGraph(MGraph &G)转载 2017-08-29 20:07:43 · 205 阅读 · 0 评论 -
python实现排序算法一:快速排序
##快速排序算法##基本思想:分治法,将数组分为大于和小于该值的两部分数据,然后在两部分数据中进行递归排序,直到只有一个数据结束## step1: 取数组第一个元素为key值,设置两个变量,i = 0, j = len(a) - 1## step2: j从后面开始遍历,遇到小于key的值,则a[i] = a[j]## step3: i从前面开始遍历,遇到大于key的值,则a[j]原创 2017-03-25 15:50:54 · 543 阅读 · 0 评论 -
python实现排序算法二:归并排序
##归并排序##基本思想:对于两个排好序的数组A和B,逐一比较A和B的元素,将较小值放入数组C中,当A或者B数组元素查询完后,将A或者B剩余的元素直接添加到C数组中,此时C数组即为有序数组,这就是归并排序原理##step1:对于一个无序数组A,可以取A元素中间索引,将A数组分为两个部分A1,A2;##step2:递归A1,A2,分别将A1,A2分为A11,A12和A21,A22两部分直原创 2017-03-25 16:05:04 · 765 阅读 · 0 评论 -
python实现查找算法:二分查找法
二分查找算法也称折半查找,基本思想就是折半,和平时猜数字游戏一样,比如猜的数字时67,猜测范围是0-100,则会先猜测中间值50,结果小了,所以就会从50-100猜测,中间值为75,结果大了,又从50-75猜测中间值,一直到猜中为止。因此,二分查找有一个限制就是原先数组需要是一个有序数组。代码如下:##二分查找算法def binarysearch(a, num): length = len原创 2017-03-25 16:18:24 · 973 阅读 · 0 评论 -
python实现排序算法三:插入排序
插入排序基本思想:假设一个无序数组A,则对于只有一个元素A[0]的子数组C来讲,其是有序的,然后将A[1]插入到C中,则就是将A[1]与A[0]进行比较,如果A[1]比A[0]小,则交换两者的顺序,这里假设是升序排序。此时的C有两个元素A[0]和A[1],且已经排好序,然后再将A[2]插入到C中,如果A[2]比A[1]大(隐含说明A[2]比A[0]大)则直接插入变为A[0,A[1],A[2]的有序原创 2017-03-25 16:41:24 · 902 阅读 · 0 评论 -
python实现排序算法四:BFPTR算法
所谓的BFPTR算法就是从n个数中寻找最小的K个数,主要思想可以参考注释,写得不是很好,特别是寻找中位数的中位数的时候,欢迎指正:##BFPTR排序##采用任意排序算法,将分组后的数据进行排序#__author__ = 'liu'#coding = utf-8'''BFPTR排序采用任意排序算法,将分组后的数据进行排序这里采用插入排序算法,比如10个数原创 2017-03-27 21:38:32 · 757 阅读 · 0 评论