01 2016 档案
摘要:1、冒泡排序 基本思想:若从小到大排序,从头开始,两两比较,大的放在后面,将待排序元素从左到右比较一遍成为“一次冒泡”,每次冒泡都将待排序数列中最大的关键字交换到最后,直到所有元素有序为止。 算法复杂度:O(2^n) 改进方法:可能排序几次后,数列已经有序,但是还没有进行完n次循环。可以在交换的代码
阅读全文
摘要:使用模版实现顺序查找和对分查找,遇到的问题:1、class和typename的区别声明模板参数时,class和typename关键字等价,可以互换;(早期的C++标准中,模版参数的关键字是通过class来标识的,后引入typename关键字。typename关键字本质上是标识一个类型,所以在模版参数...
阅读全文
摘要:哈希查找:又称散列查找 哈希表:根据关键字k,使用哈希函数i=f(k),计算出存储位置。 (1)哈希函数是一个映像,将关键字集合映射到地址集合上; (2)哈希函数是压缩映像,可能产生冲突,即k1 != k2, 而f(k1)=f(k2),只能改进哈希函数减少冲突。 因此,一是要使用合适的哈希函数,二是
阅读全文
摘要:1、顺序查找:O(n) //1、顺序查找 int SequentialSearch(int *array, int n, int key) { int i=0; while( i < n && array[i] != key) { ++i; } if (array[i] == key) { cout
阅读全文