随笔分类 - 01 【算法_数据结构_设计模式】
摘要:转载自Intel:http://software.intel.com/zh-cn/blogs/2013/04/09/?utm_campaign=CSDN&utm_source=intel.csdn.net&utm_medium=Link&utm_content=%20Multicore%20-duoxiancheng1. Amdahl定律一个很简单的量化公式,用来计算一个程序中串行部分所占多少对程序加速比的影响或者用来计算计算机硬件配置中某个设备的速度提高能够将整个系统的速度提高多少。 假设一个串行程序执行的总时间为1,不能被并行化的部分占的时间比例为p,即串行化的部分
阅读全文
摘要:先看看肖舸老师的文章:《随机洗牌算法复杂度的比较实例》http://tonyxiaohome.blog.51cto.com/blog/925273/313362其实我最初想到的也是那3个方法:1判断生成的随机数有没有重复,2.生成一张布尔表,3.双随机数。下面给出我的算法:#include <iostream>#include <vector>#include <time.h>using namespace std;void RandCard(vector<int>, int); //函数声明int main(int argc, char *ar
阅读全文
摘要:下标处理问题主要是针对于插入排序算法写的程序,其他情况可以借鉴这些思路。数学上或者通常意义上,下标都是从1开始的,但是在多数编程语言里面数组下标都是从0开始的,这就很恼火了,简单一个下标处理起来却异常麻烦!请看例如:(1)典型的数组下标越界问题假设有个数组:a[0] a[1],我们要用插入法排序,把a[1]插入到a[0]前面,插入法是这样写的while( a[j]>temp) // j=0; temp=a[1];{a[j+1]=a[j--];}a[j+1]=temp;其原理是把比temp(即a[1])小的元素挨个往后移,腾出前面的一个位置将temp插进去,但是当j=0是,如果a[0]&g
阅读全文
摘要:由排序算法引出的数据结构作者:zollty 本文较为深入地研究了各类基本的排序算法,并由此引伸到对于数据结构的认识。 怎样选择算法?哪种排序算法最好?要回答这些问题首先要建立在数据特征和对数据的操作要求上,根据不同的数据特征和操作要求选择合适的数据存储结构。 数据存储结构分类如下:(1)顺序存储(2)链表结构(3)索引(4)散列表 对于顺序表和链表,实际应用中又分栈、队列、数、图等。再回头来看排序算法: 直插、希尔、直选、堆、冒泡、快排、归并、基数排序。为O(n2)的是直插、直选和冒泡。直选的效率最低,其次是冒泡,直插比较好而且稳定,但是若用在顺序表上会大量挪动记录,插入和删除操作是顺序表上无
阅读全文
浙公网安备 33010602011771号