面试算法
xhjx2618
只是记笔记
展开
-
面试算法题整理
1. 字符串匹配问题题目描述:假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配,比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同,所以这两个字符串是匹配的。 要求高效实现下面的函数:boolen Is_Match(char *str1,char *str2)。分析:这个问题可以先排序再比较,也可以利用hash表进行判断。这里给出一种hash表原创 2013-03-21 10:47:45 · 463 阅读 · 0 评论 -
各种排序算法的稳定性和时间复杂度小结
本文转自:http://blog.csdn.net/hkx1n/article/details/3922249选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为转载 2013-03-26 14:16:15 · 497 阅读 · 0 评论 -
判断一个单链表是否有环及环的链接点
给定一个单链表,只给出头指针h1、如何判断是否存在环2、如何知道环的长度3、如何找出环的连接点在哪里4、带环链表的长度是多少1、对于问题1,使用追赶的方法,设定两个指针slow、fast从头指针开始,每次分别前进1步、2步。如存在环则两者相遇,如不存在环,fast遇到NULL退出。 2、对于问题2,记录下问题1的碰撞点p,slow、fast从该点开始,再次碰撞所走转载 2013-05-04 20:21:21 · 483 阅读 · 0 评论 -
二叉树的非递归遍历
转自:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html#commentform二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于转载 2013-05-22 22:37:10 · 460 阅读 · 0 评论 -
交换二叉树左右节点
转自:http://blog.csdn.net/hoken2020856/article/details/5732406BiNode* Exchange(BiNode* T){ BiNode* p; if(NULL==T || (NULL==T->lchild && NULL==T->rchild)) return T; p = T->lchild; T->lchil转载 2013-05-22 23:01:57 · 727 阅读 · 0 评论