书籍详情
PHP程序员面试算法宝典
作者:猿媛之家,琉忆,楚秦 等
出版社:机械工业出版社
出版时间:2019-04-01
ISBN:9787111623618
定价:¥59.00
购买这本书可以去
内容简介
本书是一本讲解PHP程序员面试笔试算法真题的书籍,以PHP为实现语言,除了讲解如何解答算法问题外,还引入了实例辅以说明,让读者能够更好地理解。 本书将程序员面试笔试过程中各类算法真题一网打尽。在题目的广度上,本书收集了近三年来几乎所有IT企业面试笔试算法高频题目(包括智力题、排序、数组、栈、队列、字符串、二叉树、大数据、基础数学知识等),所选择题目均为企业招聘使用题目,这些企业涉及业务包括系统软件、搜索引擎、电子商务、手机 APP、安全关键软件等。在题目的深度上,本书由浅入深,详细分析每一道题目,并提炼归纳。同时,引入实例与源代码、时间复杂度与空间复杂度的分析,而这些内容是其他同类书籍所没有的。本书根据真题所属知识点进行归纳分类,力争做到结构合理、条理清晰,对于读者进行学习与检索意义重大。 本书是一本计算机相关专业毕业生面试笔试的求职用书,也可以作为本科生、研究生学习数据结构与算法的辅导书,同时也适合期望在计算机软硬件行业大显身手的计算机爱好者阅读。
作者简介
暂缺《PHP程序员面试算法宝典》作者简介
目录
前言
面试、笔试经验技巧篇
经验技巧1 如何巧妙地回答面试官的问题2
经验技巧2 如何回答技术性的问题3
经验技巧3 如何回答非技术性问题4
经验技巧4 如何回答快速估算类问题5
经验技巧5 如何回答算法设计问题6
经验技巧6 如何回答系统设计题8
经验技巧7 如何解决求职中的时间冲突问题11
经验技巧8 如果面试问题曾经遇见过,是否要告知面试官11
经验技巧9 被企业拒绝后是否可以再申请12
经验技巧10 如何应对自己不会回答的问题12
经验技巧11 如何应对面试官的“激将法”13
经验技巧12 如何处理与面试官持不同观点的问题14
经验技巧13 什么是职场暗语14
面试、笔试真题解析篇
第1章 经典算法题19
1.1 有多少苹果用来分赃19
1.2 哪只猴子可以当大王20
1.3 移动多少盘子才能完成汉诺塔游戏21
1.4 如何利用约瑟夫环来保护你与你的朋友22
1.5 怎样才能得到阿姆斯壮数24
1.6 如何获取规定的排列组合25
1.7 如何实现洗牌算法26
1.8 怎样求解斐波那契数列27
1.9 如何实现杨辉三角28
1.10 牛的数量有多少29
1.11 百钱买百鸡30
1.12 经过这个路口多少次30
1.13 球的反弹高度有多高31
1.14 如何找出1000以内的“完数”32
1.15 猴子吃了多少桃子32
1.16 如何移动最少次数的三色旗33
第2章 智力题35
2.1 逻辑计算35
2.1.1 老鼠相遇的概率是多少35
2.1.2 如何计算时钟的三针重叠35
2.1.3 如何喝到最多瓶汽水36
2.1.4 住旅店花了多少钱36
2.1.5 商人可卖出多少根胡萝卜36
2.1.6 如何判断哪个开关控制着哪盏灯37
2.1.7 如何用烧绳来计算时间37
2.1.8 如何用水壶获取指定的水量37
2.1.9 卖鸡总共赚了多少37
2.1.10 跳高名次是多少38
2.1.11 如何根据银币猜盒子39
2.1.12 马牛羊的价格各是多少文钱39
2.1.13 赔了多少钱39
2.1.14 海盗如何分金才能让他获得最多的金子40
2.1.15 张老师的生日是哪一天41
2.1.16 拿几个乒乓球41
2.2 逻辑推理42
2.2.1 怎样才能推理出学生的专业42
2.2.2 错误的判断是哪一个43
2.2.3 最后参加紧急项目的开发人是谁43
2.2.4 猜的第一个数字是多少44
2.2.5 需要多少只老鼠测试才能判断出毒酒45
2.2.6 地图重合点有几个45
2.2.7 掰断多少次金条才能按要求给雇工报酬46
2.2.8 握手次数是多少46
2.2.9 如何判断出坏鸡蛋47
2.3 概率与组合48
2.3.1 抽球人数是多少48
2.3.2 案件发生在A区的可能性是多少48
2.3.3 男女比例将会是多少49
2.3.4 对称矩阵有多少个49
2.3.5 A、B点有多少种走法50
2.3.6 多少种排队方式50
2.3.7 把球放到小桶中有多少种放法51
2.3.8 正确描述100台虚拟机故障的是哪一个51
2.3.9 圆桌上一共有多少种坐法52
2.3.10 兵马俑博物馆可容纳多少人52
2.3.11 两种策略的预期收益是多少53
2.3.12 拾起别人帽子的概率是多少53
2.3.13 合法表达式有多少个53
2.3.14 会Java和C++程序的有多少人54
2.3.15 乘坐甲车的概率是多少54
2.3.16 A到Z的最短路径数是多少54
2.3.17 选取红黄白球的概率是多少55
2.3.18 一共有多少种染色情况55
2.3.19 肇事车是白车的概率是多少56
2.3.20 获得冠军的情况有多少种56
2.3.21 一红一黑的概率是多少56
2.3.22 谁会赢57
2.3.23 乘坐不同交通工具的概率是多少57
2.4 数学计算58
2.4.1 一共等了女神多少分钟58
2.4.2 使用了什么进制运算59
2.4.3 三角形有多少个59
2.4.4 数列的规律是什么60
2.4.5 数列使用了什么规律60
2.4.6 余数是多少60
2.4.7 如何才能找到最好的羽毛球员工61
2.4.8 亮着的灯泡有多少个61
2.4.9 工作时长是多少62
2.4.10 最小夹角是几度62
2.4.11 求解到的余数是多少63
2.4.12 如何正确计算余数63
2.4.13 最高的效率是多少63
2.4.14 可以实现的函数是哪个64
2.4.15 可以兑换多少瓶加多宝64
2.4.16 共赚了多少钱64
2.4.17 实际折扣是多少65
第3章 排序算法66
3.1 如何实现冒泡排序67
3.2 如何实现插入排序70
3.3 如何实现归并排序72
3.4 如何实现快速排序74
3.5 如何实现选择排序76
3.6 如何细实现希尔排序79
3.7 如何实现堆排序80
3.8 如何实现计数排序82
3.9 如何实现桶排序83
第4章 链表86
4.1 如何实现链表的逆序87
4.2 如何从无序链表中移除重复项91
4.3 如何计算两个单链表所代表的数之和95
4.4 如何对链表进行重新排序99
4.5 如何找出单链表中的倒数第k个元素103
4.6 如何检测一个较大的单链表是否有环109
4.7 如何把链表相邻元素翻转113
4.8 如何把链表以K个结点为一组进行翻转116
4.9 如何合并两个有序链表120
第5章 栈与队列124
5.1 如何实现栈124
5.2 如何实现队列129
5.3 如何翻转栈的所有元素133
5.4 如何根据入栈序列判断可能的出栈序列142
5.5 如何用O(1)的时间复杂度求栈中最小元素147
5.6 如何用两个栈模拟队列操作148
第6章 二叉树150
6.1 二叉树基础知识150
6.2 如何实现二叉树152
6.3 如何用树结构实现多层级分类158
面试、笔试经验技巧篇
经验技巧1 如何巧妙地回答面试官的问题2
经验技巧2 如何回答技术性的问题3
经验技巧3 如何回答非技术性问题4
经验技巧4 如何回答快速估算类问题5
经验技巧5 如何回答算法设计问题6
经验技巧6 如何回答系统设计题8
经验技巧7 如何解决求职中的时间冲突问题11
经验技巧8 如果面试问题曾经遇见过,是否要告知面试官11
经验技巧9 被企业拒绝后是否可以再申请12
经验技巧10 如何应对自己不会回答的问题12
经验技巧11 如何应对面试官的“激将法”13
经验技巧12 如何处理与面试官持不同观点的问题14
经验技巧13 什么是职场暗语14
面试、笔试真题解析篇
第1章 经典算法题19
1.1 有多少苹果用来分赃19
1.2 哪只猴子可以当大王20
1.3 移动多少盘子才能完成汉诺塔游戏21
1.4 如何利用约瑟夫环来保护你与你的朋友22
1.5 怎样才能得到阿姆斯壮数24
1.6 如何获取规定的排列组合25
1.7 如何实现洗牌算法26
1.8 怎样求解斐波那契数列27
1.9 如何实现杨辉三角28
1.10 牛的数量有多少29
1.11 百钱买百鸡30
1.12 经过这个路口多少次30
1.13 球的反弹高度有多高31
1.14 如何找出1000以内的“完数”32
1.15 猴子吃了多少桃子32
1.16 如何移动最少次数的三色旗33
第2章 智力题35
2.1 逻辑计算35
2.1.1 老鼠相遇的概率是多少35
2.1.2 如何计算时钟的三针重叠35
2.1.3 如何喝到最多瓶汽水36
2.1.4 住旅店花了多少钱36
2.1.5 商人可卖出多少根胡萝卜36
2.1.6 如何判断哪个开关控制着哪盏灯37
2.1.7 如何用烧绳来计算时间37
2.1.8 如何用水壶获取指定的水量37
2.1.9 卖鸡总共赚了多少37
2.1.10 跳高名次是多少38
2.1.11 如何根据银币猜盒子39
2.1.12 马牛羊的价格各是多少文钱39
2.1.13 赔了多少钱39
2.1.14 海盗如何分金才能让他获得最多的金子40
2.1.15 张老师的生日是哪一天41
2.1.16 拿几个乒乓球41
2.2 逻辑推理42
2.2.1 怎样才能推理出学生的专业42
2.2.2 错误的判断是哪一个43
2.2.3 最后参加紧急项目的开发人是谁43
2.2.4 猜的第一个数字是多少44
2.2.5 需要多少只老鼠测试才能判断出毒酒45
2.2.6 地图重合点有几个45
2.2.7 掰断多少次金条才能按要求给雇工报酬46
2.2.8 握手次数是多少46
2.2.9 如何判断出坏鸡蛋47
2.3 概率与组合48
2.3.1 抽球人数是多少48
2.3.2 案件发生在A区的可能性是多少48
2.3.3 男女比例将会是多少49
2.3.4 对称矩阵有多少个49
2.3.5 A、B点有多少种走法50
2.3.6 多少种排队方式50
2.3.7 把球放到小桶中有多少种放法51
2.3.8 正确描述100台虚拟机故障的是哪一个51
2.3.9 圆桌上一共有多少种坐法52
2.3.10 兵马俑博物馆可容纳多少人52
2.3.11 两种策略的预期收益是多少53
2.3.12 拾起别人帽子的概率是多少53
2.3.13 合法表达式有多少个53
2.3.14 会Java和C++程序的有多少人54
2.3.15 乘坐甲车的概率是多少54
2.3.16 A到Z的最短路径数是多少54
2.3.17 选取红黄白球的概率是多少55
2.3.18 一共有多少种染色情况55
2.3.19 肇事车是白车的概率是多少56
2.3.20 获得冠军的情况有多少种56
2.3.21 一红一黑的概率是多少56
2.3.22 谁会赢57
2.3.23 乘坐不同交通工具的概率是多少57
2.4 数学计算58
2.4.1 一共等了女神多少分钟58
2.4.2 使用了什么进制运算59
2.4.3 三角形有多少个59
2.4.4 数列的规律是什么60
2.4.5 数列使用了什么规律60
2.4.6 余数是多少60
2.4.7 如何才能找到最好的羽毛球员工61
2.4.8 亮着的灯泡有多少个61
2.4.9 工作时长是多少62
2.4.10 最小夹角是几度62
2.4.11 求解到的余数是多少63
2.4.12 如何正确计算余数63
2.4.13 最高的效率是多少63
2.4.14 可以实现的函数是哪个64
2.4.15 可以兑换多少瓶加多宝64
2.4.16 共赚了多少钱64
2.4.17 实际折扣是多少65
第3章 排序算法66
3.1 如何实现冒泡排序67
3.2 如何实现插入排序70
3.3 如何实现归并排序72
3.4 如何实现快速排序74
3.5 如何实现选择排序76
3.6 如何细实现希尔排序79
3.7 如何实现堆排序80
3.8 如何实现计数排序82
3.9 如何实现桶排序83
第4章 链表86
4.1 如何实现链表的逆序87
4.2 如何从无序链表中移除重复项91
4.3 如何计算两个单链表所代表的数之和95
4.4 如何对链表进行重新排序99
4.5 如何找出单链表中的倒数第k个元素103
4.6 如何检测一个较大的单链表是否有环109
4.7 如何把链表相邻元素翻转113
4.8 如何把链表以K个结点为一组进行翻转116
4.9 如何合并两个有序链表120
第5章 栈与队列124
5.1 如何实现栈124
5.2 如何实现队列129
5.3 如何翻转栈的所有元素133
5.4 如何根据入栈序列判断可能的出栈序列142
5.5 如何用O(1)的时间复杂度求栈中最小元素147
5.6 如何用两个栈模拟队列操作148
第6章 二叉树150
6.1 二叉树基础知识150
6.2 如何实现二叉树152
6.3 如何用树结构实现多层级分类158
猜您喜欢