随笔分类 - 编程算法
算法与数据结构相关总结;面试和实习过程中,相关的感悟,思考以及总结;
摘要:面试官谈面试思路: 编码前应该明白自己要解决什么问题,解决问题的方法;考虑问题要全面; 进行具体问题分析的时候,要能通过证明来证明自己的结论; 应聘者应该在写代码之前,理解好思路;如果没有想清楚就动手,本身就不是很完美的方式;可以采用举例子、画图等多种方式,解释问题本身和问题的解决方案; 对于复杂的
阅读全文
摘要:本文讨论了原码,反码与补码相关的基础知识:对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式. 机器数:一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 例:十进
阅读全文
摘要:面试官谈代码质量: 容错能力,特别输入是否考虑,如何处理;考虑异常情况和资源回收; 掌握基础知识点;能通过和面试官交流、请教,解决问题; 考虑边界情况; 正确命名变量和函数名称;能根据具体的问题,选择合适的数据结构; 关注程序的正确性和鲁棒性;关注对于输入参数的检查、处理错误和异常的方式、命名方式等
阅读全文
摘要:面试官谈基础知识: C++语言基础知识;设计模式;UML图;软件工程知识; C++内存管理; 数据结构和算法;编程能力;部分数据知识,概率、线性代数知识;问题分析的能力; 编程基本功;并发控制;算法和时间、空间复杂度;语言的基本概念; 编程基础;计算系统基础知识;算法及设计能力; OS了解程度:内存
阅读全文
摘要:面试官谈面试: 初级程序员:算法和数据结构,应聘者的基本功; 高级程序员:专业技能和项目经验; 事先准备:对公司近况,项目情况有所了解;选好自己喜欢的岗位;准备好和面试官交流的问题; 面试时的应对:面试的时候,需要放轻松;不要着急编写代码;了解清楚自己要解决的问题;多和面试官沟通;做一些整体的设计和
阅读全文
摘要:汉诺塔传说:汉诺塔问题,是源于印度一个古老的益智玩具;大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 数学抽象:如下图
阅读全文
摘要:本博客为针对 剑指Offer 所有面试题的分析与实现,具体实现请参考:https://github.com/yaowenxu/codes/tree/master/剑指Offer 剑指Offer(第二版)面试题目分析与实现-面试的流程 剑指Offer(第二版)面试题目分析与实现-面试需要的基础知识 剑
阅读全文
摘要:最短路算法:最短路径算法是图论研究中,一个经典算法问题;旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 确定起点的最短路径问题:已知起始点,求最短路径问题。适合使用Dijkstra算法;(单源最短路径问题) 全局最短路径问题:求图中所有的最短路径,适用于Floyed-Warshall 算法
阅读全文
摘要:连通图:无向图G中,若从顶点i到顶点j有路径相连,则称i,j是连通的;如果G是有向图,那么连接i和j的路径中所有的边都必须同向;如果图中任意两点之间都是连通的,那么图被称作连通图。 强连通图:有向图G中,对于任意的两个点之间x,y,都存在x到y的路径,为强连通图; 弱连通图:将有向图的所有的有向边替
阅读全文
摘要:本博客在在这里重新总结了一下,当前常用的经典数据结构;这里只针对链表,顺序表,简单树和图进行总结;具体实现请参考:https://github.com/yaowenxu/codes/tree/master/数据结构; 本文章,主要讨论数据结构的性质;以及对这些数据结构的性质;主要是用来知识整理与复习
阅读全文
摘要:本博客整理了当前经典的搜索算法的实现,并进行了简单的分析;博客中所有的代码实现位于:https://github.com/yaowenxu/codes/tree/master/搜索算法 ; 如果代码对您有帮助,希望能点击star~基于推荐和鼓励!感谢~ 基本概念: 搜索:就是在指定结构内,找到满足条
阅读全文
摘要:最近在刷算法题目,突然重新思考一下大二时学习的算法分析与设计课程,发现当时没有学习明白,只是记住了几个特定的几个题型;现在重新回归的时候,上升到了方法学上了;感觉到了温故知新的感觉;以下总结自童咏昕老师的算法设计与分析课程和韩军老师的算法分析与设计课程;当我们遇到一个问题的时候,我们先想出一个简单的
阅读全文
摘要:针对排序算法,网上有比较好的讲解,参考自:程序员内功:八大排序算法和 程序员的内功——数据结构和算法系列 这里主要是学习过程中的重新记录,记录典型的排序算法实现模板; 排序算法稳定性讲解: https://www.cnblogs.com/codingmylife/archive/2012/10/21
阅读全文
摘要:上一篇文章,我们讲到:C、C++ 标准输入重定向 & 万能头 - 编程技巧 https://www.cnblogs.com/xuyaowen/p/c-cpp-reopen.html; 然而,在重定向过程中,我们需要从文件中循环读入;这时候我们需要使用下面几个方法: bash-3.2$ cat in.
阅读全文
摘要:转眼到了毕业季,大家都在忙着找暑期实习;我也投了一个,是阿里巴巴的暑期实习;实习,少不了机试,又想起了大一时曾经凑过acm的热闹;当时学到一个技巧,是使用重定向向输入输出函数,这样在进行测试的时候就比较方便了; 这样调试的时候,不用从控制台进行手动输入,直接从文件中进行输入就行;这样也方便debug
阅读全文