简述树的深度优先及广度优先遍历算法,并说明非递归实现。原题出自百度的笔试:当时我看到这个题目的时候,已经完全记不得非递归算法该怎么实现了,后来查阅了一下,要用到两个辅助的数据结构:深度优先遍历--->栈;广度优先遍历--->队列;这里以二叉树为例来实现。import
java.util.ArrayD...
分类:
其他好文 时间:
2014-05-20 02:33:07
阅读次数:
425
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO)。栈能够将递归问题转化为非递归问题,这是它的一个重要特性。除了FILO、FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列、双栈、超队列、超栈等,它们是一种扩展与变异结构。
线性表有...
分类:
编程语言 时间:
2014-05-19 11:36:46
阅读次数:
369
http://developer.51cto.com/art/201107/273003.htm也许你已经熟练使用了java.util包里面的各种数据结构,但是我还是要说一说java版数据结构与算法,希望对你有帮助。线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一...
分类:
编程语言 时间:
2014-05-19 08:26:57
阅读次数:
469
兽类翻翻棋软件使用说明书目录1 概述 41.1背景 41.2应用领域与使用对象
41.4参考资料 41.5术语与缩写解释 42 系统综述 42.1系统结构 42.2系统功能简介 52.3性能 52.4版权声明 53 运行环境
53.1硬件设备要求 53.2支持软件 53.3数据结构 54 系统操作说...
分类:
其他好文 时间:
2014-05-19 08:02:03
阅读次数:
278
在软件这个行业,做的越久,往往会觉得很多技术问题最终会偏向数据结构和算法。记得曾经大学的一堂课上,老师讲了一个关于冒泡排序的算法,下面是课本上的标准实现。
1 public class Sort 2 { 3 public void sortArray(int[] arry...
分类:
其他好文 时间:
2014-05-18 19:52:22
阅读次数:
299
先序遍历和中序遍历非递归代码:#include #include using
namespace std;typedef struct BinaryTree { int data; struct BinaryTree *rchild,
*lchild;}BinaryTree;int cr...
分类:
其他好文 时间:
2014-05-17 21:56:50
阅读次数:
264
(1)最终还是没能参加比赛,一次都没有机会。(2)有梦想,不到最后一刻不会放弃。(3)这里应该会搬次家,转到github上。(4)作为一个新手,什么东西都需要从头学起来,就从最基础的数据结构开始好了。待完成的任务:1-2-3-4-
分类:
其他好文 时间:
2014-05-17 14:38:01
阅读次数:
244
Problem Description
XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提...
分类:
其他好文 时间:
2014-05-16 01:43:49
阅读次数:
270
线性表的定义:N个数据元素的有限序列
线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表)
顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an)
链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一个链式的存储结构
看到顺序存储结构的图示,我们可能会马上联想到C语言的数组...
分类:
编程语言 时间:
2014-05-16 01:43:08
阅读次数:
359
散列表是一种ADT。散列表的实现常常叫做散列(hashing),它是一种用于以常数平均时间执行插入、删除、查找的技术。需要元素间任何排序信息的操作将不会得到有效的支持。例如FindMax、FindMax、按序输出等。
散列表的关键是确定散列函数,《数据结构与算法分析》中提到了几种散列函数,但都不是完美的。能解决冲突但有可能散列表占用率不高。字符串中的字符不是随机出现,这也影响到了散列表的...
分类:
其他好文 时间:
2014-05-16 00:04:10
阅读次数:
493