
算法
GUANGWEIQIN
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
判断一个单链表是否有环及环的链接点(转)
给定一个单链表,只给出头指针h: 1、如何判断是否存在环? 2、如何知道环的长度? 3、如何找出环的连接点在哪里? 4、带环链表的长度是多少? 解法: 1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。 2、对于问题2,记录下问题1的碰转载 2015-05-18 16:15:38 · 435 阅读 · 0 评论 -
如何判断两个单向链表是否有相交,并找出交点 (转)
判断两个链表是否相交:(假设两个链表都没有环) 1、判断第一个链表的每个节点是否在第二个链表中 2、把第二个链表连接到第一个后面,判断得到的链表是否有环,有环则相交 3、先遍历第一个链表,记住最后一个节点,再遍历第二个链表,得到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交 如何判断一个单链表是有环的?(注意不能用标志位,最多只能用两个额外指针) 一种O(n)的办法转载 2015-05-18 16:46:11 · 738 阅读 · 0 评论 -
红黑树并没有我们想象的那么难
转载网址:http://daoluan.net/blog/?p=2057 红黑树并没有想象的那么难, 初学者觉得晦涩难读可能是因为情况太多. 红黑树的情况可以通过归结, 通过合并来得到更少的情况, 如此可以加深对红黑树的理解. 网络上的大部分红黑树的讲解因为没有「合并」. 红黑树的五个性质: 性质1. 节点是红色或黑色。 性质2. 根是黑色。 性质3. 所有转载 2015-06-25 15:31:03 · 425 阅读 · 0 评论 -
二分查找算法
1、算法概念。 二分查找算法也称为折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。请注意这种算法是建立在有序数组基础上的。 2、算法思想。 ①搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束; ②如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。 ③如果在某一步骤原创 2015-05-19 11:58:43 · 458 阅读 · 0 评论 -
轻松搞定面试中的二叉树题目
转载请注明出处 http://blog.youkuaiyun.com/walkinginthewind/article/details/7518888 树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题目基本都可以用转载 2015-05-19 14:24:38 · 376 阅读 · 0 评论 -
树相关知识(补充)
1、二叉树的主要性质(6) (1)非空二叉树上叶子结点数等于双分支结点数加1 A:总结点数=度为2的结点+度为1的结点+度为0的结点 B:总结点数=度为2的结点数*2+度为1的结点+1 由公式AB得出:度为0的结点等于度为2的结点+1 (2)二叉树的第i层最多有2的i-1次方的结点。(等比数列) (3)高度(或深度)为k的二叉树最多有2的k次方-1个结点。 (4)有n个结点的完全二叉转载 2015-05-19 16:12:17 · 482 阅读 · 0 评论 -
]字符串中的单词逆转
字符串中的单词逆转,如将“Today is Friday!”,逆转为“Friday! is Today”; 算法思路,先逆转各单词,“Today is Friday!”逆转为 “yadoT si !yadirF”,再将整个字符串逆转,“Friday! is Today” 代码实现 void reverse(char* str, int begin, int end)转载 2015-06-06 18:28:48 · 655 阅读 · 0 评论