随笔分类 - 数据结构&算法
摘要:今天看博客园的时候看到这个问题,突然想起自己又很久没有关注过算法了。印象中这个是写过的,一个是利用开方来解决,一个是利用筛选来解决,还有个利用bitarray的筛选法。复习了下,代码如下:
阅读全文
摘要:具备计算机程序设计的能力,掌握一般的算法,包括但不限于常用的排序和查找,常用的字符串操作,动态规划,分治,贪婪法等。排序:顾名思义,就是将文件按一定的关键字递增或则递减的次序排列起来,形成有序。 内排和外排:内排是指少量数据,在内存中进行排序。外排是指大量的数据,涉及到内、外存的交换。(主要还是讲内排)稳定性:如果存在多个关键字相同的记录,经过排序后这些记录之间的次序不变,就是稳定的。(以前一直没...
阅读全文
摘要:1、具备计算机程序设计的能力,掌握一般的数据结构和算法,数据结构包括但不限于数组,链表,堆,栈,队列,树,图,hash表等。数组:数组时一种可以通过计算下标来访问一组变量的数据结构。一维数组可以看做是一个顺序存储结构的线性表,二维数组的定义是“其数据元素为一维数组”的线性表。在C#中声明数组的表达式为:int[] mat = new int[10] ; //一维int[,]...
阅读全文
摘要:有一次需要生成N序列的不重复数字,最直观的理解就是不断生成一个小于N的随机数S,然后放入一个int[N]中: 1.当S不存在于int[N]中时,将S添加到int[N]中。 2.否则,重新生成S。这样的效率是极其低下的,当时怎么也不知道怎么想的就这么写了。后来觉得还是上网查找一下,得到一个更好的方法。生成一个N序列的数组int[N],生成一个随机位置P,将int[p]与int[i]对调。不断缩小i的...
阅读全文