程序员面试攻略(读书笔记)

本书介绍了程序员面试的关键环节,包括求职过程、链表操作、快慢指针判断循环链表、递归算法及电话键单词问题。通过实例解析了如何解决程序设计面试中的常见问题,如正确修改链表头指针,以及用非递归算法打印电话号码对应的单词组合。同时,书中还涉及字节存储方式、位运算统计二进制1的数量等技术问题。
摘要由CSDN通过智能技术生成
 程序员面试攻略programming interview exposed
John mongan编
杨晓云等译
机械工业出版社
1.        求职过程
2.        程序设计面试题的解答思路
对面试题不清楚的地方一定要问清楚,在编写代码的过程中应随时向考官解释你正在做的事情,写完程序后应该找例子验证自己写出来的代码,对解决方案的复杂性进行分析
3.        链表
P21头指针的修改,用c语言
//无法正确改变父函数里的指针
Int badinsert(element *head){
element *newelem;
……
head=newelem;
……
}
//正确的代码
Int insert(element **head){
element *newelem;
……
*head=newelem;
……
}
 
P49编写函数判定链表是否是循环链表
用快慢不同的指针对链表进行遍历,如果快指针到达链表尾则是非循环的,如果快指针超过慢指针,则是循环链表。
  使用快慢指针判断的好处是:可以防止尾指针不是直接连到头指针,而是它之后的指针,那么这种情况下传统的以头指针作为基准判断是否有循环的方法就可能陷入死循环。
4.        树和图
5.        数组与字符串
6.        递归算法
面试例题 电话键单词
请编写一个函数,它以一个 7 位数的电话号码为输入,
把各种可能的 单词 <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值