首页 > TAG信息列表 > BSTreeNode
数据结构:二叉排序树
听了国嵌唐老师的课,用C语言实现: BSTree.c #include <stdio.h> #include <malloc.h> #include "BSTree.h" typedef struct _tag_BSTree TBSTree; struct _tag_BSTree { int count; BSTreeNode* root; }; static void recursive_display(BSTreeNode* node, BSTre数据--第51课 - 二叉排序树
第51课 - 二叉排序树 1. 二分查找的回顾 (1)二分查找的特点 二分查找能够提高有序表中数据元素的查找速度。 二分查找的时间复杂度为O(log2n)。 二分查找是一种静态查找。 (2)二分查找的不足 当查找表经常变化时,二分查找的整体性能急剧下降。 2. 二分查找的硬伤 二分查找基于有序表二叉排序树
思路 二叉排序树,二叉搜索树好像都行,原理应该都懂,比较基础,但要写出来还是有相当大的难度的。 查找 查找比较简单,基本都是一个while就解决。但查前驱与后继较难,可能需要上溯父节点。 任意键值 查最值 查某键值的前驱或后继 先序,中序,后序遍历 修改 修改键-值对,这个非常简单,查找出来剑指offer-36:二叉搜索树与双向链表
输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。转换过程中不能创建任何新的结点,只能调整树中结点指针的指向。 本文有关二叉搜索树结点以及创建二叉搜索树的代码如下: typedef int DataType; typedef struct BSTreeNode{ DataType key; struct BSTreeNode *l