梦幻DUO的游戏开发之路

“学者们都是很单纯的,如果他们不单纯的话,戏剧般的灵感就不会造访他们了。” ——东野圭吾...

排序:
默认
按更新时间
按访问量

算法导论 KMP字符串匹配

KMP字符串匹配 1. KMP字符串匹配的原理 Knuth-Morris-Pratt算法(简称KMP),是一种非常高效的字符串匹配。设n为文本的长度,m为待查找文本模板的长度,则预处理时间需要O(m),匹配时间需要O(n)。 1.预处理阶段。KMP字符串匹配的原理就是为待查找的字符串模板创建...

2015-09-28 17:14:09

阅读数:686

评论数:0

算法导论 XOR双向循环链表——内存高效链表

XOR双向循环链表——内存高效双向链表1. 算法导论原题 10.2-8 ? Explain how to implement doubly linked lists using only one pointer value x.np per item instead of the usu...

2015-09-20 00:42:54

阅读数:1198

评论数:4

XOR Linked List – A Memory Efficient Doubly Linked List

An ordinary Doubly Linked List requires space for two address fields to store the addresses of previous and next nodes. A memory efficient version of...

2015-09-19 11:10:57

阅读数:491

评论数:0

算法导论 O(n)时间内反转单链表

算法导论 O(n)时间内反转单链表1. 算法导论原题 Give a O(n) time nonrecursive procedure that reverses a singly linked list of n elements. The procedure should use no mo...

2015-09-18 16:45:32

阅读数:1080

评论数:0

算法导论 合并两个链表

合并两个链表1. 算法导论原题 10.2-6 The dynamic-set operation UNION takes two disjoint sets S1 and S2 as input, and it returns a set S = S1 U S2 consisting o...

2015-09-18 11:33:12

阅读数:403

评论数:0

算法导论 循环双链表

循环双链表1. 什么是循环双链表? 循环双链表:循环,即是首尾相连的链表。双链表,即是在原来单链表的基础上,使结点不单只能指向下一个结点,也能指向上一个结点。 2. 循环双链表的基本操作(伪代码) LIST-SEARCH(L,k) x = L.head while x ≠NIL ...

2015-09-18 10:21:26

阅读数:446

评论数:0

算法导论 循环单链表

循环单向链表1. 循环单向链表如何实现? 循环单向链表只是在单向链表的基础上使尾结点指向头结点。因为每次插入结点,新结点都是指向上一个结点当前的下一个结点。因此在单向链表的基础上,我们使头结点指向自身即可。 因此只需要在以前的博文单链表代码中的构造函数初始化的时候,加上一行代码,便做到了...

2015-09-18 09:26:15

阅读数:379

评论数:0

算法导论 使用单链表实现队列

使用单链表实现队列1. 算法导论原题 10.2-3 Implement a queue by a singly linked list L. The operations ENQUEUE and DEQUEUE should still take O(1) time. 译:使用两个...

2015-09-17 23:35:10

阅读数:781

评论数:0

算法导论 使用单链表实现栈

使用单链表实现栈1. 算法导论原题 10.2-2 Implement a stack using a singly linked list L. The operations PUSH and POP should still take O(1) time. 译:使用一个单链表实现...

2015-09-17 21:52:23

阅读数:478

评论数:0

算法导论 单链表

单链表1. 单链表是什么? 单链表是一种常见的简单数据结构,链表由很多个结点组成,每个结点有储存数据的数据域和指向下一个结点的地址。因为每个结点都有下一个结点的地址,因此通过当前结点可以找到下一个结点,将各种数据就像链子一样连接起来。相比于数组,链表的优点就是大小可以改变,删除和插入数据也不必...

2015-09-17 20:02:01

阅读数:410

评论数:0

算法导论 使用两个队列实现一个栈

用两个队列实现一个栈1. 算法导论原题 10.1-7 Show how to implement a stack using two queues. Analyze the running time of the stack operations. 译:使用两个队列实现一个栈。分析...

2015-09-17 19:13:29

阅读数:471

评论数:0

算法导论 使用两个栈实现队列

使用两个栈实现队列1. 如何使用两个栈实现队列? 因为栈的顺序是后进先出,队列是先进先出。通过把一个栈“倒”进第二个栈,可以在第二个栈以原来入栈的顺序出栈,就达到了队列的先进先出效果。 注意关于如何“倒”,也有效率的高低之分。 我使用的方法是(一个栈称StackIn,另一个栈称St...

2015-09-15 23:25:10

阅读数:399

评论数:0

算法导论 顺序循环双向队列

顺序双向队列1. 什么是顺序双向队列? 算法导论原题: 10.1-5 Whereas a stack allows insertion and deletion of elements at only one end, and a queue allows insertion at...

2015-09-15 20:19:59

阅读数:634

评论数:0

算法导论 顺序双向栈——两个栈共享同一存储空间

双向栈——两个栈共享同一存储空间1. 什么是双向栈? 算法导论原题: 10.1-2 Explain how to implement two stacks in one array A[1..n] in such a way that neither stack overflows...

2015-09-15 17:57:27

阅读数:1598

评论数:0

算法导论 顺序循环队列

简单顺序队列1.什么是队列?什么是顺序队列? 队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。队列的修改是依先进先出的原则进行的。新来的成员总是加入队尾,每次离开的成员总是队列头上的。队列的顺序存储结构称为顺序队列,顺序结构可以用数组来实现。 2.顺序队...

2015-09-13 16:03:25

阅读数:515

评论数:0

算法导论 简单顺序栈

简单栈1.什么是栈? 栈是一种基本的数据结构,栈这种数据结构实现的是一种对元素进行后进先出(last-in, first-out,LIFO)的策略。 2.栈的基本操作(伪代码) STACK-EMPTY(S) if S.top == 0 return TRUE else...

2015-09-10 21:00:38

阅读数:526

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭