
结构算法
文章平均质量分 71
时间文盲
不期而遇,简单一点。
展开
-
二叉排序树转换成双向链表
昨天笔试这题,回来后自己再折腾一下午还是没有独自解决,思路肯定是用递归,可就是有个指针的指向问题让我特别老火。好吧,承认自己算法很菜了,之前做题太少,现在知道痛苦了。出来混,迟早都是要还的。。OK,直接记录,在此感谢原文博主。题目: 将一棵排序二叉树转换成排序的双向链表,不增加新的结点,只调整指针方向思路: 基本凡是牵涉到二叉树的,递归绝对是首先应该想到的方转载 2013-10-14 12:22:58 · 1727 阅读 · 0 评论 -
C语言常见经典面试题集锦(更新中)
准备下常见的C语言面试题,一般都是些经典的C程序(诸如strcmp, strcpy, atoi...),觉得把这些零碎题都集锦下,方便以后复习或者用到。题目是其次,关键是思路。数字 / 字符转换字符转数字,这个是百度百科上的实现,个人觉得很简短了,就此贴上:void atoi(const char *str){ int neg_flag = 0; int res = 0;原创 2013-10-07 16:16:22 · 1456 阅读 · 0 评论 -
不用Sqrt,求整数开方问题(精确到0.001)
简介 创新工厂题,刚开始我是不会做的,而且全没思路。回来度娘了一堆,搜的结果中比较多的是什么牛顿迭代的算法,然后我就没细看了。我就琢磨,创新出这题就为了考这个东西?这样太没劲了吧,然后就搁下了。昨天偶然看到别人博客上这道题解法,一看就知道做了,非常easy,然后自己按照他说的思路和算法,实践了一遍。 思路:二分法,逐步逼近期望值。原创 2013-09-20 12:58:15 · 2341 阅读 · 3 评论 -
《剑指Offer》:求字符串的组合
前言 最近一个月多的时间一直在刷剑指Offer,刚做到第28题 -- 字符串的排列。然后,在做扩展题的时候,来了个神来之笔,心情大好,分享下。题目: 求字符串(或n个字符)的所有组合。比如,输入abc,则它的组合有a,b,c,ab,ac,c,abc。解决思路: 求字符串的组合问题,可以分解成求原创 2015-04-11 13:17:41 · 781 阅读 · 1 评论 -
TDD练习:保龄球计分
前言培训遗留作业,计划放在国庆空闲时间做,所以这算是走计划节奏。另外,真的是不喜欢做这些题,虽然实现以后发现很简单。但是没实现之前,多少还是觉得有些困难,可能是自己做题天少。。(不知道别人做题时候啥感觉)另外,做这些题我是感觉完全搭不上算法的边,可能是我自己没专门学过的原因吧,基本上纯粹是按照题的说明需求,然后自己思考,整理思路,然后实现...过程就是这样。原创 2014-10-05 19:46:56 · 2825 阅读 · 0 评论 -
寻找前K大数(复习各种排序)
前言都被别人做烂的题,我一遍都还没做过。略感可耻,以后没事就做做题,动动脑。题目在长度为n(n>=k)的乱序数组S中找出从大到小顺序的第k大的数。代码原创 2014-02-22 01:15:19 · 865 阅读 · 0 评论 -
n*n网格路径问题
最近做笔试题,网上各路牛人的答案给LZ提供了相当大帮助,也有了把自己的东西整理整理的兴趣。 某影音题:n*n网格,只能往右或下走,从右上角到左下角路径总数? 思路:网格每个点都只能向右走或下走两种选择,而网格边上的点则始终只有一条,所以完全可以用递归实现。 代码实现:int func(int m, int n){ if(m==0 || n==0)原创 2013-09-19 14:45:58 · 3498 阅读 · 0 评论 -
两字符串的最长公共子串问题
某影音笔试题,说实话,这种题网上非常普遍,但笔试时候能完整无差错写出来的,只能呵呵了... 闲着做这题,整理了下,把这个程序贴上来吧。仅供参考,效率就不说了。 思路:遍历字符串,然后记录最长的子串。 代码如下:/* 求公共子串长度 */typedef struct recode{ int length; char *str;}ReNode;i原创 2013-09-19 23:59:20 · 1000 阅读 · 3 评论 -
报数游戏
明天要参加机试,找个题练练,找找手感,其实,今天已经改代码改吐了。。。(就不吐槽了) 题目:设有N 个人围坐一圈并按顺时针方向从1 到N 编号,从第S个人开始进行1 到M报数,报数到第 M个人时,此人出圈,再从他的下一个人重新开始1 到 M的报数,如此进行下去直到所有的人都出圈为止。现要打印出出圈次序。 输入:n 游戏总人数 s 报数的起始编号 m 报数的数值 输原创 2013-10-10 22:25:21 · 1314 阅读 · 0 评论 -
给定字符串先序和中序遍历,求后序遍历
还是某影音题,第二次笔试只要求非递归实现后序就行了。这题在《编程之美》上有原题,当初过了一遍,没放心上。今天再来做,就把书上的例子搬上来吧。 思路:根据先序和中序重建树,再遍历。首先,求出根节点左右子树,此时,左右子树的先序和中序同样已知,完成递归。 代码实现:/* 给点前序和中序遍历,求后序遍历 */typedef struct TreeNode{ char va原创 2013-09-20 10:59:09 · 1467 阅读 · 0 评论 -
平衡二叉树(AVL树)
前言看Nginx的红黑树结构,然后顿感对平衡二叉树的相关内容都忘光了。当然,以前也就摸过皮毛,所以再次拿起并记录。平衡二叉树总结主要参考《大话数据结构》原创 2014-02-09 14:11:49 · 1258 阅读 · 0 评论 -
TDD培训回演:四则运算(总结)
前言上周末参加了一次代码培训,首次接触了TDD(Test -Driven Development)开发方式。总的来说,能够接受一种新的编程思想,收获不小。本来是打算当天回家就做下培训内容的总结,结果回家有了其他活动,然后拖到这两天。先是抽时间把培训内容代码的演练自己搞了一遍,主要是回忆整个开发的过程,然后在这里我再记录下,分享TDD开发的魅力。关于TDD介绍的文章网上很多,想了解下的同学可以参考下这篇博文《浅谈测试驱动开发(TDD)》。原创 2014-09-27 15:15:36 · 2063 阅读 · 0 评论