数据结构
文章平均质量分 74
wonka438
这个作者很懒,什么都没留下…
展开
-
把二元查找树转变成排序的双向链表
树、链表(二叉查找树、双向链表)一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)把二元查找树转变成排序的双向链表输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14原创 2012-07-27 20:47:19 · 4502 阅读 · 0 评论 -
常用数据结构及其分类
常用数据结构及其分类一、 四类基本结构:集合、线性结构、树形结构、图状结构二、常用数据结构:1. 数组 (Array)在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型原创 2013-03-24 11:20:06 · 803 阅读 · 0 评论 -
翻转句子中单词的顺序
串一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)翻转句子中单词的顺序。输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。二、分析:原创 2012-09-06 19:16:25 · 2420 阅读 · 0 评论 -
判断整数序列是不是二元查找树的后序遍历结果
二叉树----遍历一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)判断整数序列是不是二元查找树的后序遍历结果输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如:输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \原创 2012-09-06 15:14:45 · 2917 阅读 · 0 评论 -
查找最小的k 个元素
排序一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)查找最小的k 个元素输入n 个整数,输出其中最小的k 个。例如输入1,2,3,4,5,6,7 和8 这8 个数字,则最小的4 个数字为1,2,3 和4。 二、分析:看到题目的第一个想法,先把输入的n个整数排序,再输出最小的k个元素。下面比较每原创 2012-08-28 20:53:05 · 3588 阅读 · 1 评论 -
设计包含min 函数的栈(push\pop\min)
栈一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)设计包含min 函数的栈。定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。二、题目分析:栈,仅在表尾进行插入和删除操作的线性表,具有后进先出的特性。要完成这道题目,push、po原创 2012-08-20 22:47:47 · 3965 阅读 · 0 评论 -
求子数组的最大和
数组一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)求子数组的最大和输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10,原创 2012-08-20 22:23:39 · 3575 阅读 · 0 评论 -
求二叉树中节点的最大距离
二叉树一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)求二叉树中节点的最大距离如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们定义"距离"为两节点之间边的个数。写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。二、分析:一个数的距离有两种:1.树根到树叶的距离;2.树叶和树叶的距离。即,原创 2012-09-15 16:00:15 · 2379 阅读 · 0 评论 -
在二元树中找出和为某一值的所有路径
二叉树一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)在二元树中找出和为某一值的所有路径输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如:输入整数22 和如下二元树 10 / \ 5 12 /原创 2012-08-26 21:45:12 · 567 阅读 · 0 评论 -
用俩个栈实现队列
栈、队列一、题目:(感谢 http://blog.csdn.net/v_JULY_v 提供的题目)用俩个栈实现队列。某队列的声明如下:templateclass CQueue{public: CQueue() {} ~CQueue() {} void appendTail(const T& node); // append a elemen原创 2012-09-07 10:20:51 · 2486 阅读 · 0 评论