程序员面试软实力培养
文章平均质量分 67
Beyond0525
在不想做的时候还要去做一点点
展开
-
第一类:链表的考察(链表的插入,删除,排序和逆转等)
数据的存储结构在计算机中主要有四种基本的存储方式:顺序存储、链接存储、索引存储、散列存储方式。我们知道,顺序存储的优点是支持随机访问结构中的数据,但是在插入和删除方面运算时会造成大量数据的移动,效率较低;而链接存储却有效的补充了顺序存储的不足,当需要频繁的插入和删除时,效率得到提高。而索引存储附件了索引表,在访问时通过索引项(由关键字和地址组成值对)去访问数据的存储地址,而散列存储的就是hash的原创 2012-06-12 00:38:11 · 1549 阅读 · 0 评论 -
第二类:与数有关的经典算法
算法中有很多与数有关的经典算法,包括最大公约数,字符串与数的转化问题、素数问题等等,这些也都会在面试中出现,让我们一起来看看这些问题吧!1.最大公约数思路:一个简单的方法就是辗转相除法(欧几里得算法),就是用最大的数除以较小的数,结果的余数和被除数构成新的一对数,继续上面的除法,直到大数被小数整除(余数为0),得到的较小的数就是最大公约数。例如:20 12过程: = 8 ;原创 2012-06-12 21:57:04 · 757 阅读 · 0 评论 -
第三类:字符串的操作
字符串在面试中也是经常考查的内容,C库字符串的操作函数是常考内容(例如 strstr(),strtok(),strcpy(),strcmp()等),所以,平时我们不仅要学会使用字符串的操作,也要对其具体的实现方式有所了解,特别是字符串的字符串处理函数。下面我们通过分析几道典型的例题进行学习和交流。1.从字符串中删除给定的某个字符或者几个字符(要求尽量高效而且不增加额外的存储)思路:如果没有原创 2012-06-13 23:33:41 · 1004 阅读 · 0 评论 -
简单就能弄懂堆排序
对大多数学习数据结构的同学来说,堆是感觉上很难懂的一个数据结构,更何况用堆进行的操作,但你又不得不承认,堆在算法中绝对算一个很高效很重要的数据结构。大家弄不明白的原因大概是没有静下来去深究堆,笔者曾经也一样,但最近静下心来着实认真的梳理了一下堆,觉得只要弄懂以下几点,其实,堆也就是那么回事。一、理解堆的定义满足两个条件:(1)满足完全二叉树的性质(要理解完全二叉树的性质,如果不懂的话翻原创 2012-08-17 20:30:14 · 1511 阅读 · 0 评论