码迷,mamicode.com
首页 >  
搜索关键字:递归    ( 18847个结果
【剑指offer】二叉搜索树转双向链表
思路:这道题目关键在于不能创建新的节点,如不然,我们可以直接将二叉排序树中序遍历保存到一个数组中,而后再建立一个双性链表,将数据保存到双向链表里。 这里不能创建新节点,我们只能改变节点的指向左右子树的节点,让其变为指向二叉链表中的前后节点,很明显这里同样用的是中序遍历,因此这道题目依然是中序遍历的变种,中序递归构造实现即可,每次递归都保存一个指向已构造好的双向链表的尾节点的指针,将其与下一个节点连接起来。 另外,这道题OJ的输出格式与前面的不同,输出样例中又没有说明,我试了三次才AC,前两次...
分类:其他好文   时间:2014-05-26 05:21:59    阅读次数:189
层次遍历二叉树
按先序序列输入字符序列(其中逗号表示空节点),输出该二叉树的层次遍历序列。 #include #define END ','//表示空节点 using namespace std; typedef char Elem_Type; typedef struct BiTree { Elem_Type data; struct BiTree *Lchild; stru...
分类:其他好文   时间:2014-05-26 04:53:07    阅读次数:261
笔试算法题(31):将有序数组转换成BST表示 & 线段树的应用
出题:要求将一个有序整数数组转换成最小深度的Binary Search Tree表示;分析:由于需要是最小深度,所以BST应保持平衡,左右节点数大致相当,并且BST中当前根节点大于所有其左子树中的元素,小于所有其右子树中的元素。对于排序数组而言,中间元素必然作为根节点,然后递归对由中间元素分割的左右...
分类:其他好文   时间:2014-05-26 03:49:39    阅读次数:369
【剑指offer】八皇后问题
剑指offer上解决八皇后问题,没有用传统的递归或非递归回溯法,而是用了很巧妙的全排列法。 先说下八皇后问题:在8 X 8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处于同一行,同一列或者同意对角线上,求出所有符合条件的摆法。 全排列解决八皇后问题的思路如下: 由于8个皇后不能处在同一行,那么肯定每个皇后占据一行,这样可以定义一个数组A[8],数组中第i个数字,即A[i]表示位于第i行的皇后的列号。先把数组A[8]分别用0-7初始化,接下来对该数组做全排列,由于我们...
分类:其他好文   时间:2014-05-26 03:22:14    阅读次数:223
二分查找
二分查找也是分治策略和递归一个重要的实例。对于一个有序的数组,二分查找的时间复杂度是O(logn)int binarysearch(int a[],int s,int e,int k){ int mid =(s+e)/2; if(k==a[mid]) return mid;...
分类:其他好文   时间:2014-05-26 02:23:44    阅读次数:170
[数据结构和算法]快速排序笔记
特点:1.是冒泡的改进2.是一个递归的过程3.不稳定4.时间复杂度:O(nlogn)设要排序的数组是A[0]...A[n-1],首先取数组的第一个数作为关键数据,然后将所有比它小的数都放到它的前面,比他大的都放到他的后面,这个过程被称为一趟快速排序算法步骤:1.设置两个变量i,j,排序开始i = 0...
分类:其他好文   时间:2014-05-26 01:48:16    阅读次数:282
一天一道算法题---5.24.--递归
感谢 微信号---code4god 这是他们的微信平台 每日会提供一道算法题 我只是个搬运工我们每一天都应该比昨天更强一点观察下列式子:12 = 12*1 12 = 6*212 = 4*312 = 3*412 = 3*2*212 = 2*612 = 2*3*212 = 2*2*3对于给定的n 计算n...
分类:其他好文   时间:2014-05-26 01:06:41    阅读次数:248
POJ分类
初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj1328,poj2109,poj2586)      (3)递归和分治法.      (4)递推.      (5)构造法.(poj3295)      (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法:   ...
分类:其他好文   时间:2014-05-25 01:58:06    阅读次数:247
File文件的解析,和编码
java021      file讲解:文件和目录路径名的抽象表示形式 IO流操作的是数据,而数据一般是以文件的表现形式。      File类:用来将文件或者文件夹封装成对象      方便对文件与文件夹的属性信息进行操作      file对象可以作为参数传递给流的构造函数       File类常见的方法:      1. 文件的创建:           boolean ...
分类:其他好文   时间:2014-05-24 18:06:16    阅读次数:388
算法——基础篇——二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。     首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一...
分类:其他好文   时间:2014-05-24 17:17:38    阅读次数:237
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!