随笔分类 - 数据结构和算法
摘要:抵制转载并改了作者名的流氓行为,博客地址:http://www.cnblogs.com/wolfred7464/。书接上文,继续线性表。这次写一下栈和队列的简单实现和部分应用。队列的应用比较简单一些,就像现实中排队一样一样的,就不做过多赘述,主要说一下循环队列的实现,即重用已出队的空间。栈的实现也很...
阅读全文
摘要:马上要面临大规模的面试了,用了太久标准库,已经对数据结构的内部实现快忘了,趁着还有几天时间,自己又回忆了一下,用C++实现出来。所以接下来我在博客中会写一个“数据结构整理”系列,在面试之前,能回忆多少算多少吧,希望面试官能感受到我曾经是一个对数据结构很熟悉的人。。。 下面进入正题。 链表和数...
阅读全文
摘要:题目来自于:http://www.cnblogs.com/humble/p/3937667.html本博客地址:http://www.cnblogs.com/wolfred7464/p/3940186.html第一题:A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛:...
阅读全文
摘要:读书笔记终于写完了,写一下我对KMP的理解。KMP的思想就是尽量利用已经得到的信息,来降低时间复杂度,已经得到的信息存放在next数组里。算法确实很难理解,所以很难讲解。。举个例子来说吧。设字符串是str[],next[5] = 2。就表示str[5]前面的2个字符,与str[2]前面的2个字符相同...
阅读全文
摘要:问题: 给出一个n个元素的数组,a[1], a[2], …… , a[n],设计一个数据结构,支持查询操作RMQ(L, R),计算min{a[L], a[L+1], …… , a[R]}。分析: 循环计算会超时,用Tarjan的Sparse-Table算法,预处理时间是O(nlogn),查询只需...
阅读全文
摘要:二叉索引树,俗称树状数组,也叫Fenwick树。例: 给定一个n个元素的数组A1, A2, A3, ……, An, 设计一个数据结构,支持以下两种操作。 1、Add x y :让Ax增加y 2、Query L R :计算AL + AL+1 + …… + AR#include #...
阅读全文
摘要:const int MAX = 1000010;bool prime[MAX];//这是最朴素的筛选法,缺陷是会重复筛同一个数void isPrime(){ memset(prime, 1, sizeof(prime)); prime[0] = prime[1] = 0; for(...
阅读全文
摘要:1 #include 2 #include 3 struct node 4 { 5 int data; 6 struct node *left, *right; 7 }; 8 9 void build(struct node **p, int k) //指向指针的指针。。10 {...
阅读全文

浙公网安备 33010602011771号