![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Nemo丶
我见青山多妩媚,料青山见我应如是。
展开
-
二叉搜索树(BST) ------- 插入 查找 删除 的递归与非递归
首先应该对二叉搜索树的性质有所了解。二叉搜索树又称为二叉排序树。当左子树不为空时,则左子树的结点值小于根结点值;右子树不为空时反之。空树也是二叉排序树。头文件及结构体定义代码:#include <stdio.h>#include <string.h>#include <stdlib.h>typedef int DataType;...原创 2018-08-31 16:17:11 · 584 阅读 · 0 评论 -
基础排序算法(一):冒泡,选择,插入排序及优化
冒泡排序<默认升序>冒泡排序就是每次将当前未排序的序列中最大元素升到最终的位置。具体实现:每次从第一个元素开始: 当cur > next 时,交换两个元素位置; 当cur < next 时,就从next开始继续向下遍历比较。代码实现:template<typename T> void BubbleSort(T arr[], int n...原创 2019-03-31 22:18:20 · 226 阅读 · 0 评论 -
二叉搜索树底层的实现
二叉搜索树概念: 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 1. 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值; 2.若它的右子树不为空,则右子树上的所有节点的值都大于根节点的值; 3. 它的左右子树也分别为二叉搜索树。 二叉搜索树的实现: 查找 插入 删除 树中节点的删除相对麻烦,需要作出如下判断:...原创 2019-04-09 17:43:03 · 366 阅读 · 0 评论 -
排序算法 --- 归并排序
归并排序是典型的分治思想(所谓分治即分而治之)的实现。具体实现就是将乱序的序列划分为两个子序列,再将子序列又分别向下划分,直到划分成最小单位(这一过程可以通过递归实现)。在不能划分时,将相邻的两个子序列进行比较,按序排列,将排好的序列向上返回,逐层地比较 -- - > 排序 - - - > 归并,直到最终序列有序。演示:我们随机生成一个乱序序列:每次可以...原创 2019-05-31 22:17:14 · 181 阅读 · 0 评论