算法与数据结构
T_or_F
这个作者很懒,什么都没留下…
展开
-
数据结构--二叉树及其基本操作
二叉树总结树的概念(递归定义):树是一些节点的集合,这个集合可以为空,若非空,则它由一个根节点r和0个或多个非空的(子)树组成,这些子树中每一棵的根都被来自根 r 的一条有向的边所连接。树叶(leaf):没有儿子的节点;兄弟(sibling):具有相同父亲的节点;类似还有祖父和孙子节点。路径:从节点n1到nk的路径定义为节点n1,n2,n3,...,nk的一个序列,使得对于 1 &...原创 2019-08-19 12:51:18 · 248 阅读 · 0 评论 -
经典算法之非递归算法实现二叉树前、中、后序遍历
参考:https://blog.csdn.net/wardseptember/article/details/78883843#include <iostream>#include <vector>using namespace std;typedef struct BTNode { char val; struct BTNode *left, *...原创 2019-08-19 14:28:01 · 160 阅读 · 0 评论 -
经典算法之层序遍历二叉树
参考:https://blog.csdn.net/wardseptember/article/details/78879360要进行层序遍历,需要建立一个循环队列。先将二叉树头结点入队列,然后出队列,访问该结点,如果它有左子树,则将左子树的根结点入队;如果它有右子树,则将右子树的根结点入队。然后出队列,对出队结点访问,如此反复,直到队列为空为止。#include <io...原创 2019-08-19 15:01:13 · 240 阅读 · 0 评论 -
二叉排序树(BST)的创建,查找,插入,删除及最大最小结点
参考:https://blog.csdn.net/happyjacob/article/details/827955601、什么是二叉排序树二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质:非空左子树的所有键值小于其根结点的键值。 非空右子树的所有键值大于其根结点的键值。 左、右子树...原创 2019-08-19 18:32:45 · 1109 阅读 · 0 评论 -
排序算法总结
参考:No.1 冒泡排序冒泡排序无疑是最为出名的排序算法之一,从序列的一端开始往另一端冒泡(你可以从左往右冒泡,也可以从右往左冒泡,看心情),依次比较相邻的两个数的大小(到底是比大还是比小也看你心情,即大的数冒泡还是小的数冒泡)。#include <iostream>using namespace std;//冒泡排序void sort1(int arr[], i...原创 2019-08-20 22:42:54 · 138 阅读 · 0 评论