码迷,mamicode.com
首页 >  
搜索关键字:二叉树 c++ 递归    ( 27702个结果
顺序容器(幕后英雄) — heap
heap不属于STL容器,它扮演者priority queue的助手。heap是一种完全二叉树,可由数组来实现,但heap需要动态改变大小,所以最终选择了vector作为底层容器。STL默认提供最大堆。 题外话:分析heap的源码就能清楚的理解堆这种数据结构的例程,而STL库代码的质量又很高,所以看堆的代码,STL源码是一个很好的选择。 为了满足完全二叉树的性质,新插入的元素一...
分类:其他好文   时间:2014-07-22 23:04:53    阅读次数:363
usaco-3.1-PROB Shaping Regions-漂浮法
漂浮法,顾名思义,就是一块块的往上飘。 以逆序来进行放置,即n to 1。逆序的好处在于放置一个矩形后,俯视看到的就是最终俯视该矩形应该看到的。因为挡着它的矩形在之前已经放置好了,所以可直接统计,为递归创造了条件。每放一个矩形,可以想象成将其扔入一密度很大的海水底部,海分成了n层,然后矩形开始向上浮。在上浮过程中若碰撞到其他的矩形则断裂成几个小矩形,继续上浮,直到浮出水面。于是想到用个递归来模拟...
分类:Windows程序   时间:2014-07-22 23:04:13    阅读次数:394
BNU 34974 MATLAB大法好
MATLAB大法好  Time Limit: 8000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main MATLAB大法好,天灭C++,退C保平安,人在做,天在看,大段循环留祸患,内存泄露电脑灭,跳出递归保平安。诚心诚念矩阵好,批量操作平安保,两行代码...
分类:其他好文   时间:2014-07-22 23:03:14    阅读次数:374
python数据结构与算法 34 归并排序
归并排序 在提高排序算法性能的方法中,有一类叫做分而治之。我们先研究其中第一种叫做归并排序。归并排序使用递归的方法,不停地把列表一分为二。如果列表是空或只有一个元素,那么就是排好序的(递归基点),如果列表有超过1个的元素,那么切分列表并对两个子列表递归使用归并排序。一旦这两个列表排序完成,称为“归并”的基本操作开始执行。归并是把两个有序列表合并成一个新的有序列表的过程。图10是我们熟悉的列表...
分类:编程语言   时间:2014-05-01 22:18:22    阅读次数:391
【CareerCup】Trees and Graphs—Q4.3
题目: Given a sorted (increasing order) array, write an algorithm to create a binary tree with minimal height. 翻译: 给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。 思路: 要使二叉树的高度最小,则要尽量使其左右子树的节点数目相当,自然就考虑到将其构造成为二叉排序树,且将有序数组的中间大的数作为根节点,这样得到的二叉树的高度便是最小的。...
分类:其他好文   时间:2014-05-01 17:48:45    阅读次数:321
由LCS到编辑距离—动态规划入门—算法学习笔记
一切计算机问题,解决方法可以归结为两类:分治和封装。分治是减层,封装是加层。动态规划问题同样可以用这种思路,分治。它可以划分为多个子问题解决,那这样是不是用简单的递归就完成了?也许是的,但是这样会涉及太多的不便的操作。因为子问题有重叠!针对这种子问题有重叠的情况的解决,就是提高效率的关键。所以动态规...
分类:其他好文   时间:2014-05-01 10:03:00    阅读次数:449
λ演算概述
λ演算(Lambda-calculus)是一套用于研究函数定义、应用和递归的形式系统。它由阿兰佐·丘奇(Alonzo Church)和史蒂芬·科尔·克林(Stephen Cole Kleene)在20世纪三十年代引入。丘奇运用λ演算在1936年给出“判定性问题”(Entscheidungs prob...
分类:其他好文   时间:2014-05-01 03:07:43    阅读次数:343
Unique Binary Search Trees -- LeetCode
原题链接: http://oj.leetcode.com/problems/unique-binary-search-trees/  这道题要求可行的二叉查找树的数量,其实二叉查找树可以任意取根,只要满足中序遍历有序的要求就可以。从处理子问题的角度来看,选取一个结点为根,就把结点切成左右子树,以这个结点为根的可行二叉树数量就是左右子树可行二叉树数量的乘积,所以总的数量是将以所有结点为根的可行结果...
分类:其他好文   时间:2014-04-30 22:12:39    阅读次数:244
排序算法(二)
在上一篇排序算法的文章中介绍了插入排序,分别为直接插入排序和希尔排序。今天我们继续来介绍其他的排序算法。 1、选择排序:简单选择排序 2、选择排序:堆排序...
分类:其他好文   时间:2014-04-29 13:36:20    阅读次数:340
平衡二叉树你了解吗?
数据结构在自考的时候学过,所以一些简单的概念大概了解,但是必定考纲不一样,所以在软考中还是会有一些陌生的知识,现在就说一下平衡二叉树 一、什么是平衡二叉树        根据二叉树的基本概念可想到:平衡二叉树的左右子树都是平衡二叉树;除此之外,左子树和右子树的高度差的绝对值不能超过1 二、平衡二叉树的作用       因为在二叉排序树查找过程中,只有树的形态比较均匀的时候,查找效率才能...
分类:其他好文   时间:2014-04-29 13:25:22    阅读次数:276
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!