摘要: size_t _FindLeafSize(Node* root) //求二叉树叶子节点的个数 { //static size_t count = 0; if (root == NULL) return 0; if (root->_left == NULL&&root->_right == NULL) 阅读全文
posted @ 2016-10-15 17:56 请叫我小小兽 阅读(3347) 评论(0) 推荐(0) 编辑
摘要: void _PrevOrderNR(Node* root) //非递归前序遍历 { if (root == NULL) return; Node* cur = root; stack<Node*> s; while(cur||!s.empty()) { while (cur) { cout << c 阅读全文
posted @ 2016-10-15 16:05 请叫我小小兽 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 堆排序是一种常见的排序算法,因为他的时间复杂度相比较于其他排序来说是比较优化的了。他的思想就是:先建一个大堆(即堆顶元素是堆中最大的),然后将堆顶元素与堆的最后一个元素交换,堆的大小减一(此时堆中最后一个元素已经是堆中最大的了),然后对剩下的元素再进行排序,如此循环,当堆中元素只剩一个的时候堆排序就 阅读全文
posted @ 2016-10-15 10:46 请叫我小小兽 阅读(163) 评论(0) 推荐(0) 编辑