算法
zhuhuiyu_
一个在努力中的程序员!!!加油!!
展开
-
不可能的出栈序列--思想
例如:有入栈顺序ABCDE,列出所有不可能的出栈序列。首先列出一些出栈序列,找出其中不可能的序列,观察其中的规律。例如: D B E A C这个就是不可能的。 C A B E D这个也是不可能的。 C D E B A这个就是可以的。通过观察,满足如下规律的是可能的序列:在它后面的,比它先入栈的,需要在此后倒序排列(原创 2016-11-03 21:33:32 · 2577 阅读 · 0 评论 -
树的一些知识点总结
1. 树:节点的度(定义:节点所拥有的子树的棵树,也就是节点下有几个分叉。) 层次(约定根节点所在层次为1) 高度或深度(树中节点的最大层数) 直径长度(为高度-1) 2. 二叉树的性质:1)如果根节点的层次为1,那么二叉树的第i层最多有2^(i - 1)次方个节点; 2)在高度为h的二叉树中,最多有2^h – 1 (h >= 0)个节点; 3)设一棵二叉树的叶子节点的个数为原创 2016-11-04 21:13:53 · 3477 阅读 · 0 评论 -
如何判断单链表有环?若有环,找出其入口地址
问题:如何判断单链表有环?若有环,找出其入口地址1 如何判断单链表有环?思路:对于如何判断链表有环,可以从起点发出两个指针,一个一次一步,另一个一次两步,如果两个指针相遇,那么这个单链表就有环。 2 若有环,找出其入口地址第一问得出相遇点后,再发出一个指针,统计这个指针再次回到这个点的距离,也就是环的距离。 然后从起点再发出两个指针,一个指针在另一个前面,两个指针的距离就是原创 2017-07-05 14:33:46 · 497 阅读 · 0 评论 -
【二分查找】查找数组中第一个比k大的数的下标
提示:当left和right都是非负数时,使用 mid = left + (right - left) / 2;这种形式可以避免溢出。 当left和right一个为负另一个为非负时,用mid = (left + right) / 2;这种形式可以避免溢出。[cpp] view plain copyin转载 2017-07-07 16:41:11 · 2861 阅读 · 0 评论