- 博客(12)
- 资源 (1)
- 收藏
- 关注
转载 交换排序
所谓交换,就是根据序列中两个记录值的比较结果来对换这两个记录在序列中的位置。交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。常见的交换排序有冒泡排序(Bubble Sort),鸡尾酒排序(Cocktail Sort),奇偶排序(OddEven Sort),地精排序(Gnome Sort),快速排序(Quick Sort),臭皮匠排序(Stooge Sort),梳
2016-08-24 15:20:04 352
转载 选择排序
选择排序算法就是每一趟从待排序的记录中选出关键字最小(最大)的记录,顺序放在已排好序的子文件的最后(最前),直到全部记录排序完毕。常见的选择排序有直接选择排序(Selection Sort),堆排序(Heap Sort),平滑排序(Smooth Sort),笛卡尔树排序(Cartesian Sort),锦标赛排序(Tournament Sort),循环排序(Cycle)。下面介绍前两种:(
2016-08-24 15:19:14 219
转载 插入排序
插入排序的基本思想是每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。常见的插入排序有插入排序(Insertion Sort),希尔排序(Shell Sort),二叉查找树排序(Tree Sort),图书馆排序(Library Sort),Patience排序(Patience Sort)。下面介绍前两种:(一)直接插入排序最
2016-08-24 15:18:30 268
转载 归并排序
归并排序是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。常见的归并排序有两路归并排序(Merge Sort),多相归并排序(Polyphase Merge Sort),Strand排序(Strand Sort)。下面介绍第一种:(一)两路归并排序最差时间复杂度:O(nlogn)平均时间复杂度:O(nlogn)最差空间复杂度:O(n)稳定
2016-08-24 15:17:36 271
转载 分配排序
与之前的那些比较排序不同,分配排序在排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序。它们的时间复杂度可达到线性阶:O(n)。常见的分配排序有计数排序(Counting Sort),基数排序(Radix Sort),桶排序(Bucket Sort),美国旗帜排序(American Flag Sort),珠排序(Bead Sort),爆炸排序(Burst Sort),鸽巢排序(Pig
2016-08-24 15:16:20 1127
转载 合并排序算法
一、介绍基本的排序算法主要可以分为两大类。第一类时基于逐个比较的,第二类是非比较的。插入排序Insertion sort,冒泡排序bubble,和希尔排序Shell sort都是基于比较模型的。这三个算法的时间复杂度为O(n^2),实在是太慢了。是否有可能比O(n^2)更快的排序方法呢?答案当然是有的。前面三种算法都是从待排序列表开始比较其中的每两个元素大小。插入排序和冒泡排序作了很多次比
2016-08-24 13:37:51 1115
转载 C++模板:函数模板、类模板、模板与继承
C++模板:描述 C++提供一种模板的机制来减少代码重复。比如:对于同一样函数使用不同的数据类型,int,double,char等。C++模板属于“元编程”的范畴。C++ 模板函数 1.支持不同数据类型的函数重载:[cpp] view plain copy #include using names
2016-08-24 10:05:07 236
原创 Ubuntu14.04下面搭建Systemc
1.解压systemc-2.3.1.tgz tar xzvf systemc-2.3.1.tgz2.进入解压后的文件夹,建立一个临时的文件夹objdir cd systemc-2.3.1 mkdir objdir3.之后进入临时文件夹 并且建立一个systemc 文件夹 作为安装的文件夹 cd objdir ../configure -p
2016-08-23 16:32:19 1675
原创 Ubuntu14.04下SVN的搭建及使用
1、介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。2、SVN相关命令了解 svn:命令行客户端 svnadmin:用来创建、调整或修复版本库的工具
2016-08-23 16:30:24 614
转载 c++线程
1.线程的创建C++11线程类std::thread,头文件include 首先,看一个最简单的例子:[cpp] view plain copy void my_thread() { puts("hello, world"); } int main(int argc, char *argv[
2016-08-23 16:22:22 305
原创 指针
指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: int *ptr; char *ptr; int **ptr; int (*pt
2016-08-22 17:49:23 2644 4
原创 CRC32
CRC32:CRC本身是“冗余校验码”的意思,CRC32则表示会产生一个32bit(8位十六进制数)的校验值。由于CRC32产生校验值时源数据块的每一个bit(位)都参与了计算,所以数据块中即使只有一位发生了变化,也会得到不同的CRC32值.CRC是一种数据错误检查技术,它可以确保最初写入镜像文件的数据与从镜像文件中使用的数据保持一致。CRC32表示使用32位来保存错误检查信息,在创建镜像文件
2016-08-18 14:01:11 1711
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人