面试算法,数据结构
文章平均质量分 72
richardzrc
这个作者很懒,什么都没留下…
展开
-
手动实现strncmp
自己写的版本原创 2014-06-03 23:13:05 · 1001 阅读 · 0 评论 -
算导之DP算法的设计心得
和其他的DP帖子只是灌输思考之后的结果不同,这篇是DP算法的自我体会,应该是设计DP算法的思考过程。斯以为,这才是拿到一问题,从思考到解决最精华的部分:)犹记得第一次看到算法导论上拿最长与最短路径来说明DP中最优子结构证明过程的一个细节的时候,心里激动不已,国内的教材完全不考虑这个,而是把伟人思考之后的东西呈现给新人。我第一看到,心想,这就是我要的东西,包括之前的loop in原创 2014-05-19 16:35:56 · 1311 阅读 · 0 评论 -
由July师兄二分查找代码及编程珠玑有感:循环不变性(断言)证明程序的正确性及发现bug
最近看到Lucida大神写的算法数据结构经历以及各种面试经历帖,偶然看到编程珠玑这本书,发现里面对二分查找的证明有着与算法导论的循环不变性相似,但是更加make sense的证明思路,最近读了一下,有一些心得。大家可以尝试运用这个方法来证明下更加容易出现bug的快速排序算法,以便确定自己的代码是否正确。二分查找算法(h=n-1版本):int BinarySearch(int原创 2014-05-07 11:56:00 · 1649 阅读 · 0 评论 -
对于hash的比之前更深的理解
最近看了一些hash的东西,发现对于这个理解不够深入。目前存有一些疑惑:1.是否hash表 没有重复元素存在。如果是的话,建立hash表的时候,如果有两个一样的元素怎么处理?2.http://blog.csdn.net/feixiaoxing/article/details/6885657#reply学习了这个代码之后,对于hash的实现有更深的理解,也是包原创 2014-05-14 11:12:23 · 914 阅读 · 0 评论 -
由微软13校招加密题引申
最近想起13年MS校招有道加密的选择题,同时对于加密解密一直有兴趣,所以想了解下,看到一篇极佳日志:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html#comment-text英文原版在这http://www.youdzone.com/signature.html私钥加密原创 2014-05-14 15:27:15 · 781 阅读 · 0 评论 -
栈的重要应用之中缀转后缀表达式算法
今天又看了中缀转后缀表达式的算法,才知道这个有名字交调度场算法(Shunting-yard algorithm,因过程类似火车编组场而得名),居然是Dijstra发明的,原来的贡献遍布CS各个角落。。。之前知道Shortest path,银行家,PV,结构化程序设计之Goto危害之前和一个实验室同事还讨论过这个问题,当初是不去看答案,自己推出这个算法,但是和最后的答案比较还是有问题原创 2014-05-18 21:14:54 · 1600 阅读 · 0 评论 -
编程之美问题之二叉树层序遍历多种解法
二叉树的层序遍历(要求区分层,例如每层遍历完输出换行)单单层序遍历非常简单,一个队列就搞定了,但是区分层则要麻烦些。总的思路无非就是在每次print的时候,要能通过某个东西区分出当前节点是否是一层最后一个节点,或者下一层的最后一个节点,感觉有点类似于机器学习中找个区分度明显的特征:1.自己的解法,在单队列基础上,输入队列的数据添加一个标志 ,LevelHeaded,同时原创 2014-05-30 15:04:53 · 1465 阅读 · 0 评论 -
random 概率
http://blog.csdn.net/ojshilu/article/details/19903639#comments两个随机算法,当年算法课由于时间原因,没有讲,而且发现是Knuth的j转载 2014-06-04 14:45:38 · 834 阅读 · 0 评论 -
某公司面试概率题值排列组合基础回忆
昨天看到一道某公司三面的概率题,本质是排列组合,于是乎打算回顾下排列组合:用C(n,m)表示从n个不同的物品选择m个的选法,n>=m combination用P(n,m)表示从n个不同的物品选择m个进行排列的选法,n>=m permutation昨天看到一道面试题,说是概率,其实本质就是求样本空间数的排列组合,和事件数排列组合,然后比一下,本质还是排列组合,当然如果你原创 2014-06-09 13:11:25 · 1898 阅读 · 0 评论 -
PCA之进一步理解数学上的解释
最早接触PCA是大三学模式识别,看了PCA算法,想也没想原理,直接Matlab开码,后来才发现有直接函数= =当时就有同学说要理解原理,我当时赶进度直接skip掉理解了,后来发现PCA用得太多了昨日看到 @码代码的张洋 一篇极好的深入浅出介绍PCA的博客,私以为国内教科书都写的鬼话,而这种东西才是初学者看起来及其舒服的人话。不过对于博客里面,还有一些地方有点疑惑。原创 2014-06-10 16:33:49 · 926 阅读 · 0 评论 -
July大神微软等100题之第7题------判断两个链表相交(包含有无环),链表是否有环题目总结
今天才发现,当年考研的最后一题还有常数上更优的时间复杂度算法。。。判断两个单链表是否相交:我写的:遍历Link1,O(L1)遍历Link2,O(L2)将长的链表指针后移|L2-L1|个长度,然后两个指针逐个后移,每次判断是否两个指针值相同时间复杂度O(L1+L2+max(L1,L2))编程之美上:判断两个链表最后一个结点是否相同,时间复杂原创 2014-05-14 11:07:57 · 855 阅读 · 0 评论 -
@码代码的张洋 两篇博客笔记 及一些杂乱笔记
归并排序递归版void MergeSort(int* a, int low, int high, int* b)//Merge a[low...high] with space of b[]{if(low==high) return;int mid=(low+high)/2;MergeSort(a, low, mid,b);MergeSort(a, mid+1,high,b原创 2014-06-10 17:25:46 · 924 阅读 · 0 评论 -
手写BST插入查找删除
binary search\sort\find operationsstatus InsertNode(Node* root, data x, Node* father){if(root==NULL){if(father==NULL)Tree empty;else{if(xdata){father->left=new Node//inital l原创 2014-06-09 18:05:01 · 1052 阅读 · 0 评论 -
奇偶排序问题之单向扫描
看到July大神的奇偶排序问题,第一反应就是运用原创 2014-05-28 14:49:01 · 887 阅读 · 0 评论