随笔分类 -  数据结构和算法

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