牛客网刷题进行时之C++工程师必备知识点
专栏主要是关于在牛客网刷题时遇到的关于C++开发工程师岗位必备的知识点!
cug-jdc
这个作者很懒,什么都没留下…
展开
-
《C++开发工程师岗位必备知识点七》
①数组名作为函数参数的理解 以数组名作函数参数时,实参数组与形参数组都不必定义长度,因为实参与形参的结合方式是地址结合,与数组长度无关。这句话针对一维数组是可以说正确的。 作为实参: 一维数组的定义不需要定义长度,系统有时候可以自己判断长度,比如:int a[] = {1,2}; 作为形参: 在函数的形参定义时,有没有长度无所谓,参数传递是以指针形式实现的;比如void fun(int ...原创 2019-04-16 20:13:02 · 391 阅读 · 0 评论 -
《C++开发工程师岗位必备知识点六》
①树的带权路径长度 树的带权路径长度(Weighted Path Length of Tree):定义为树中所有叶结点的带权路径长度之和。 结点的带权路径长度:结点到树根之间的路径长度与该结点上权的乘积。 ②插入排序的理解 始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点是要不断的移动数据,空出一个适当的位置,把待插入的元素放到里面去,每次都选择当前元素,插入到前面已经排好序...原创 2019-04-13 22:02:03 · 359 阅读 · 0 评论 -
《C++开发工程师岗位必备知识点五》
①判断图是否有回路问题 1.DFS,深度优先遍历:从一个顶点出发存在搜回到自己的路径。 2.拓扑排序:是对有向无回路图进行排序,以期找到一个线性序列,这个线性序列可以表示某些事情完成的相应顺序。 如果说所求的图有回路的话,则不可能找到这个序列。 3.求最短路径:有环则最短路径为零。 ②广度优先搜索、深度优先搜索理解 深度优先搜索:假设初始状态是图中所有顶点均未被访问,则从...原创 2019-04-10 20:39:35 · 575 阅读 · 0 评论 -
《C++开发工程师岗位必备知识点四》
①邻接矩阵 对于有向图中顶点适当地编号,使其邻接矩阵为三角矩阵且主对角元全为零的充分必要条件是该有向图可以进行拓扑排序。 我们想将一个图信息存储起来,我们有两个必须存储的数据,节点信息(a,b,c,d,e)和权值(3,5,4,1,6,7)和节点之间的关系,权值也就是路径。邻接矩阵表示法,用两个数组表示,一个一维数组和一个二维数组,一维数组存储节点信息,二维数组存储节点之间的关系。 ②邻接...原创 2019-03-30 22:23:07 · 413 阅读 · 0 评论 -
《C++开发工程师岗位必备知识点三》
①平衡二叉树的平衡因子的理解 平衡因子满足绝对值小于或者等于1 ②子类对基类访问权限问题总结 ③直接插入排序理解 ④快速排序额外空间问题 快排可以说需要的空间为O(1),因为是原地排序,不需要额外空间;也可以说需要的空间是O(n),因为在递归调用时有栈的开销,当然最坏情况是O(n),平均情况是O(logn)。 ⑤不同的类具有相同的间接基类的理解 为了建立唯一的间接基类版本,应...原创 2019-03-28 12:13:19 · 327 阅读 · 0 评论 -
《C++开发工程师岗位必备知识点二》
①图的相关理解 连通性:在一个无向图中,从每个定点到每个其他顶点都存在一条路径 强连通:具有连通性的有向图 弱连通:一个有向图不是强连通图,但它的基础图是连通的 完全图:每一对顶点间都存在一条边的图 ②最大堆、最小堆 在构造堆的时候,首先需要找到最后一个节点的父节点,从这个节点开始构造最大堆,直到该节点前面所有分支节点都处理完毕,这样最大堆就构造完毕了。最下堆类似。 ③判断有向图...原创 2019-03-26 21:51:49 · 1217 阅读 · 0 评论 -
《C++开发工程师岗位必备知识点一》
本文是基于牛客网该岗位刷题遇到的知识点总结,可能知识点的连贯性不是很好,望见谅。 ①红黑树 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树的应用比较广泛,主要是用它来存储有序的数据,它的时间复杂度是O(lgn),效率非常高。红黑树的特性: (1)每...原创 2019-03-22 19:57:29 · 2667 阅读 · 0 评论