
树、堆
文章平均质量分 68
draper__QYT
青年时我有一个梦想,从改变我自己开始
展开
-
堆的思想及实现
最大堆: 1.堆中某个节点的值总是不大于其父节点的值 2.堆总是一棵完全二叉树。完全二叉树:除了最后一层节点,其他层所有的节点个数必须是最大值。最后一层所有的节点必须集中在左侧。二叉堆的数组实现:给每个节点编号,使得每个父节点的左节点序列号为父节点的二倍,右节点的序列号为父节点序列号的二倍加1parent(i) = i/2 left child(i) = 2*i right原创 2017-09-16 16:28:10 · 424 阅读 · 0 评论 -
堆排序实现
Heapify: 对于一个完全二叉树,第一个非叶子节点的索引是完全二叉树的元素个数除2得到的值原创 2017-09-17 20:39:39 · 266 阅读 · 0 评论 -
二分查找法与二分搜索树
使用前提:有序数列 迭代版本:template<typename T>int binarySearch(T arr[],int n,int target){ int l=0,r=n-1; while(l<=r){ int mid=l+(r-l)/2;// int mid=(l+r)/2; 可能会出现溢出 if(a原创 2017-09-21 16:56:48 · 427 阅读 · 0 评论 -
最小生成树——Lazy Prim
介绍了Prim求最小生成树的算法实现,以及一些图论有关的概念原创 2017-11-07 20:39:46 · 646 阅读 · 0 评论 -
二叉树 的 存储与基本操作实现
利用C语言指针实现了二叉树的建立,实现了二叉树的先序遍历、中序遍历、后序遍历、交换左右子树的递归版本,并给出了效率更高的非递归方法、求深度、交换左右子树(递归)操作原创 2017-11-04 12:20:06 · 1434 阅读 · 0 评论 -
线索化二叉树
介绍了线索二叉树,并实现了二叉树的线索化原创 2017-12-26 19:06:07 · 387 阅读 · 0 评论