随笔分类 -  algorithm

摘要:排序算法的分类有多种分法. 是否是基于比较的; 是否是稳定排序; 当然也可按照时间复杂度和空间复杂度来进行划分. 而本文关注的重点在于时间复杂度及基于比较的排序. 基排序和计数排序等在此就不进行讨论了.头文件 sort.h 1 #include <iostream> 2 3 class sort 4 { 5 public: 6 static bool bubble_sort(int* arry, int n);//冒泡排序 7 static bool insert_sort_no(int* arry, int n);//插入排序,非递归 8 static bool i... 阅读全文
posted @ 2012-08-04 19:31 樹下 阅读(269) 评论(0) 推荐(0)
摘要:准备全面的把一些排序算法过一遍. 在此之前的准备有:1.乱序的数组 2.对排序效率的度量 3.确定接口一. 乱序的数组 即生成N个乱序的整数, 编程珠玑当中介绍过相应算法. 以下介绍三个算法: 1. 生成一个随机数, 接着生成下一个随机数, 若与之前的随机数都不相等则加入数组. 直到生成到数组达到足够大 2. 与以一个算法相同的想法, 不同的是在判断是否已存在时采用已存位图的形式进行判断. 初始化数组大小的位图全为0, 生成随机相应置1 3. 生成N个顺序的数组, 通过从头开始逐个与数组第随机个的数对换, 最终产生一个乱序的数组算法3 生成乱序数组 1 int* get_random_... 阅读全文
posted @ 2012-07-07 23:35 樹下 阅读(182) 评论(0) 推荐(0)
摘要:昨晚, 想实现下N个皇后的问题. 写出思路, 然后代码, 结果调了很久都没有成功. 哪出错了呢.递归算法的思路如下:从上到下按行逐一进行皇后的放置,所以不用考虑同一行有多个皇后的问题将每一行的皇后位置放置在一个数组当中. 可用于位置判断以及结果输出放置皇后时需有一判断位置是否安全的函数是否同列是否在对角线上递归放置下一行, 若放置到最后一行时, 解数量加一 以下是错误代码.#include <iostream>#define N 4intflag[N+1]={0};bool bSafe(int i, int j);void cq(int i);int count(0);int ma 阅读全文
posted @ 2012-05-18 14:35 樹下 阅读(271) 评论(0) 推荐(0)