数据结构与算法分析-c语言描述
文章平均质量分 71
pambassador
边学边记
展开
-
算法分析
【边学边记】之算法分析 定义:算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。 算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。算法主要从时间复杂度(算法效率),空间复杂度(占用内存)来评价。使用下列三个数学定义: 定义:如果存在正常数c和n0{n_0原创 2017-04-18 15:56:55 · 525 阅读 · 0 评论 -
二叉树基础知识
【边学边记】之二叉树基础知识 二叉树:二叉树是一棵树,其中每个节点都不能有多于两个的儿子。 二叉树也是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态: (1)空二叉树——(a); (2)只有一个根结点的二叉树——(b); (3)只有左子树——(c); (4)只有右子树——(d); (5)完全二叉树——(e) 注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊...原创 2017-04-24 14:31:11 · 400 阅读 · 0 评论 -
初步认识树
【边学边记】之初步认识树 基本知识 定义:树(tree)可以用几种方式定义。定义树的一种自然的方式是递归的方法。一棵树是一些节点的集合。这个集合可以是空集;若非空,则一棵树由称做根(root)的节点r以及0个或多个非空的(子)树T1,T2,...,Tk{T_1,T_2,...,T_k}组成,这些子树中每一棵树的根都被来自根r的一条有向的边(edge)所连接。 树的递归定义如下:(1)至少有一个原创 2017-04-24 12:44:04 · 782 阅读 · 0 评论 -
二叉查找树的查找、插入和删除
【边学边记】之二叉树相关算法 关于二叉树的基础知识可参考上一篇文章《二叉树基础知识》 二叉树节点声明typedef struct TreeNode *PtrToNode; typedef struct PtrToNode Tree; struct TreeNode { ElementType ELement; Tree Left; Tree Right; };二叉查找原创 2017-04-24 15:50:19 · 296 阅读 · 0 评论 -
二叉树的遍历
【边学边记】之二叉树的遍历 定义:二叉树遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。 遍历方式:从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作: ⑴访问结点本身原创 2017-04-25 14:42:35 · 358 阅读 · 0 评论