数据结构
西堂AI编程提效
一周三更编程干货
大厂程序员
厦大硕士
专注于AI编程提效、数字人领域
展开
-
堆排序
1.思路【以大根堆为例】: 假定左子树和右子树都为大根堆,调整根节点、左子树、右子树,使整棵树为大根堆【heapify函数作用】 建堆:从最后一个非叶子节点,循环调用heapify函数建立大根堆 将根节点【序号为0位置】和最后一个元素位置【序号为n】交换,再将序号0到n-1元素heapfiy建立大根堆 循环调用第三点的步骤,排序完毕。 2.代码 // heap_sort.cpp : 此...原创 2019-06-24 23:15:39 · 77 阅读 · 0 评论 -
二叉树先序、中序、后续、广度非递归遍历
重点:非递归中序遍历,其他相对较简单 #include "Binary_Tree_Traversa.h" #include <stack> #include <queue> #include <iostream> using namespace std; //用一个栈,有右放右,有左放左 void Binary_Tree_Traversa::preor...原创 2019-08-01 17:23:14 · 67 阅读 · 0 评论