数据结构
文章平均质量分 60
l-jobs
莫道征途路漫漫,愿效江水去不还
展开
-
单向链表基本操作(C语言实现)
最近学数据结构的链表,就把单向链表的基本操作列了出来,包括链表的建立,链表的插入和删除,链表的查询和遍历,链表的销毁,链表的排序与逆序,链表的合成。 1.链表的建立 一般有两种方式建立链表,头插法和尾插法。 使用头插法建立的链表步骤少,但输出顺序和输入的相反,而尾插法建立链表多了一个不存在数据域的头节点和尾节点,但是输出是正序的,而且头节点便于我们的其余操作,所以我们一般用尾插法建链表。原创 2015-09-28 21:57:03 · 1743 阅读 · 0 评论 -
二叉树的相关操作
树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用递归思想解决,当然有些题目非递归解法也应该掌握,如非递归遍历节点等等。本文努力对二叉树相关题目做一个较全的整理总结,希望对找工作的同学有所帮助。转载 2015-11-04 17:09:11 · 510 阅读 · 0 评论 -
用栈判断输入的括号是否匹配
栈是一种很重要的数据结构,用栈我们可以做很多事情,下面简单介绍一种用栈来判断用户输入的括号{}()[]是否匹配的算法。 算法简介: 用户输入的括号只有成对出现且符合一般的书写规范才算合法,比如[{( )}], {( )( )}[ ]都算合法,[( ]), []( }的不算合法。因此我们可以依次读入用户输入的字符串,把出现的'(' '{' '['压入栈中,读到')' '}' 或']'时原创 2015-10-23 20:08:05 · 1434 阅读 · 0 评论 -
用栈走迷宫
问题描述:如何求出从入口到出口的一条迷宫路径? 问题思路: 回溯法。从入口开始选定一个方向走,如果这个方向走不通,就换下一个方向,如果走得通,存下这个位置,跳到下一个位置继续判断。如果试完所有方向都不通,那么说明这个位置是死路,标记当前位置已走过,然后回溯到上一个位置继续判断。直到走到终点程序结束。 那么怎么保存走过的位置和回去呢?我们需要一个先进后出的数据结构,栈就满足这个要求,出栈就是返原创 2015-11-26 12:08:31 · 1195 阅读 · 0 评论 -
oj判题技巧
下面是我总结的在线编程的一些注意事项 1.oj不会理会程序的细节。 2.oj有严格的输入输出格式。 3.oj只会严格的比较输入和输出格式,简单的比较文件。 4.输入格式: 1.预先不输入数据的组数,读到文件末尾(求a+b) c: while (scanf("%d%d", &a, &b)!=EOF){ printf("%d\n", a原创 2016-03-19 13:27:06 · 1243 阅读 · 0 评论