数据结构学习笔记
文章平均质量分 62
「已注销」
欢迎指正博客中的错误和疏漏!
所有文章随意转载交流,转载请注明出处
展开
-
树的特点以及树的一些基本用语_学习笔记3
树的特点:1.子树不相交2.除了根节点外,每个结点有一个父结点3.一颗N个结点的树有N-1条边 树的一些基本用语1.结点的度:结点的子树的个数2.树的度:树的所有结点中的最大度数3.叶结点:度为0的结点4.父节点:有子树的结点是其子树的根结点的父结点5.子结点:父结点的下一个结点6.兄弟结点:具有同一父结点的结点原创 2016-10-05 23:32:47 · 716 阅读 · 0 评论 -
树的术语、二叉树的性质、二叉树的基本操作总结
一、树的术语序号术语概念1结点包含一个数据元素及若干指向其子树的分支。在树的图形表示中为一个圆圈。2孩子(Child)结点的子树的根,称为该结点的孩子3兄弟(Sibling)同一个双亲的孩子之间互称为兄弟。4堂兄弟其双亲在同一层原创 2017-08-26 22:51:03 · 540 阅读 · 0 评论 -
【数据结构】有序树和无序树的区别
这个问题想了好久才弄清楚,现在总结一下。概念是这样的:有序树树中任意节点的子结点之间有顺序关系,这种树称为有序树无序树树中任意节点的子结点之间没有顺序关系,这种树称为无序树,也称为自由树换而言之,兄弟结点有顺序的树,称为有序树,兄弟之间无顺序的树称为无序树。那么,3个结点到底能组成多少种有序树,多少原创 2017-07-20 16:42:43 · 44997 阅读 · 8 评论 -
用压栈的方法实现回文数
#include#include#include#define OVERFLOW -2#define OK 1#define ERROR 0#define MAXSIZE 100typedef int status;typedef char SElemType;typedef char QElemType;typedef struct{ SElemType *base;原创 2016-11-22 00:53:29 · 402 阅读 · 0 评论 -
算法的基本概念
前面写了那么多算法,到底什么才是算法,这里,我整理了一下算法的一些基本概念: 1.算法的定义:算法是解决特定问题求解步骤的描述,在计算机中为指令的有序列,并且每条指令表示一个或多个操作。 2.算法的特性:有穷性、确定性、可行性、输入、输出。 3.算法的设计要求:正确性、可读性、健壮性、高效率和低存储量需求。 4.算法的度量方法:事后统计方法(不科学、不准确)、事前分原创 2016-11-20 18:24:40 · 322 阅读 · 0 评论 -
二叉树遍历算法
写在前面 二叉树是应用广泛的一类树,通过学习二叉搜索树(BST)、平衡二叉树(AVL)、伸展树(Splay Tree)以及二叉堆(Binary Heap)的相关概念、操作以及分析算法性能,对理解树有很大帮助。本节总结和实现二叉搜索树遍历的基本方法,包括深度优先遍历和广度优先遍历。建议时间充足的初学者,自己动手全部实现一遍代码,必定会获得很大的收益。笔者在此过程中获益良多,注意思考:转载 2016-11-19 01:33:52 · 505 阅读 · 0 评论 -
贪婪算法小总结
一、贪婪算法简介贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。通过局部的最优解去合成最后的最优解。二、贪婪算法求解最短路径算法描述:准备:建立两个数组,分别存放当前条件下的最优解和已访问节点1、初始化:将最优解置为无穷大,已访问节点数组置空原创 2016-11-18 01:13:56 · 423 阅读 · 0 评论 -
二叉树
From: http://blog.csdn.net/lovingprince/article/details/1550148Binary Tree二叉树的定义二叉树是一类非常重要的树形结构,它可以递归地定义如下:二叉树T是有限个结点的集合,它或者是空集,或者由一个根结点u以及分别称为左子树和右子树的两棵互不相交的二叉树u(1)和u(2)组成。若用n,n1和n2分别转载 2016-11-11 00:12:27 · 451 阅读 · 0 评论 -
数据结构概念理解的例子_学习笔记01
1.解决问题的方法的效率,跟数据的组织方式有关:例如:在书店众多书中查找一本书,如果要一本一本找,效率很低。如果按拼音放,按二分查找,效率会高一些,但是如果要插入一本书,势必要先找到这本书对应的位置,然后将后面所有的书后移一位,由于数目庞大,耗费的时间精力也很巨大。如果再将书划分一下种类,例如计算机类,社会科学类等等,再将类里的书按拼音排序,查找效率会提高,插入要移的位也会减少,这也是原创 2016-09-27 23:26:54 · 422 阅读 · 0 评论 -
数据结构概念_学习笔记2
3.解决问题方法的效率,跟算法的巧妙程度有关如:计算多项式a(0) + x * a(1) + x ^2 * a(2) ... + x ^ (n - 1) * a(n - 1) + x ^ (n) * a(n)如果按原顺序计算,能算出来,但是势必会影响效率,改成如下方式计算,能大大提高运行效率。a(n - 2) + x( a(n - 1) + x * a(n) )/******原创 2016-10-02 22:58:30 · 218 阅读 · 0 评论 -
【c++】二叉搜索树的插入、查找、非递归删除
尤其注意删除单个根结点、删除有一个分支的根结点时要防止内存泄露(_root为私有成员时)#include #include #include using namespace std;//结点类template class BinaryNode{public: T data; BinaryNode *lchild; BinaryNode *rchild; Bin原创 2017-08-27 23:18:15 · 778 阅读 · 0 评论