
数据结构与算法
WilliamChancwl
计科在读,一起成长。
展开
-
数据结构--队列
数据结构--队列 队列ADT 队列像栈一样,也是一个表。使用队列时,从一端进行插入,从另一端进行删除。队列的基本操作是入队(Enquence),它是在表的末端即队尾(rear)插入一个元素;还有出队(Dequeue),它是删除(或返回)在表的开头即队头(front)的元素。队列同样也有两种存储方法,分别是顺序循环存储结构和链式存储结构。原创 2017-09-17 17:14:22 · 442 阅读 · 0 评论 -
数据结构 -- 树
数据结构 -- 树 树ADT 对于大量的输入数据,链表的线性访问时间太慢,不宜使用。我们介绍一种简单的数据结构,其大部分操作的运行时间平均为O(log N)。涉及到这种数据结构叫做二叉查找树,在计算机科学中树(tree)是非常有用的抽象概念。 预备知识 树可以用几种方式定义。一种定义树的自然的方式是递归的方法。一棵树是一些结点的集合。这个集合可以是空集;若非空,则一棵树由称作根(root)原创 2017-09-18 16:39:36 · 620 阅读 · 0 评论 -
数据结构 -- 栈ADT
数据结构 -- 栈ADT 栈模型 栈(又叫LIFO(后进先出)表)是限制插入和删除只能在一个位置上进行的表, 该位置是表的末端,叫做顶(top)。对栈的基本操作有Push(进栈)和Pop(出栈), 前者相当于插入,后者是删除最后插入的元素。对空栈进行Pop一般视为栈ADT的错误,而当运行Push是空间用尽是一个实现错误,但不是ADT错误,所以普通的请空栈操作与判断栈是否为空的测试都是栈的基本操作。原创 2017-09-15 23:48:45 · 1198 阅读 · 0 评论 -
算法竞赛入门经典第3章习题
3-1. 得分(UVa1585) 给出一个有O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分是为1+2+0+0+1+0+0+1+2+3。按照题目说的做就行了,超简单。原创 2017-09-25 19:48:24 · 432 阅读 · 0 评论