上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: ##深度优先遍历(栈,先压右节点,再压左节点) 也就深入的遍历,沿着每一个分支直到走到最后,然后才返回来遍历剩余的节点。二叉树不同于图,图需要标记节点是否已经访问过,因为可能会存在环,而二叉树不会出现环,所以不需要标记。那么,我们只需要一个栈空间,来压栈就好了。因为深度优先遍历,遍历了根节点后,就开 阅读全文
posted @ 2020-07-29 18:10 鲸小鱼- 阅读(590) 评论(0) 推荐(0) 编辑
摘要: #1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下: class 阅读全文
posted @ 2020-07-29 10:34 鲸小鱼- 阅读(281) 评论(0) 推荐(0) 编辑
摘要: #1.概念: 广度优先搜索算法(Breadth-First-Search),又译作宽度优先搜索,或横向优先搜索,简称BFS,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。 #2.解析 阅读全文
posted @ 2020-07-29 09:59 鲸小鱼- 阅读(555) 评论(0) 推荐(0) 编辑
摘要: #Linked List Cycle 原题链接:Linked List Cycle 判断一个链表是否有环,空间复杂度是O(1) 如果不考虑空间复杂度,可以使用一个map记录走过的节点,当遇到第一个在map中存在的节点时,就说明回到了出发点,即链表有环,同时也找到了环的入口。 不适用额外内存空间的技巧 阅读全文
posted @ 2020-07-27 15:11 鲸小鱼- 阅读(675) 评论(0) 推荐(1) 编辑
摘要: “free store” VS “heap” 当我问你C++的内存布局时,你大概会回答: “在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区”。 如果我接着问你自由存储区与堆有什么区别,你或许这样回答: “malloc在堆上分配的内存块,使用free释放内存,而n 阅读全文
posted @ 2020-07-24 11:39 鲸小鱼- 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 第一步: 首先进入自己的博客园 -- 点击<<设置>>--找到 <<博客侧边栏公告(支持HTML代码) (支持 JS 代码) 第二步: 加入如下代码 <img style="width: 200px; height: 200px;" src="头像路径" alt="qq377905687的头像" c 阅读全文
posted @ 2020-07-23 18:16 鲸小鱼- 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 【n个节点的二叉树有多少种形态(Catalan数)】 分析过程:(1)先考虑只有一个节点的情形,设此时的形态有f(1)种,那么很明显f(1)=1 (2)如果有两个节点呢?我们很自然想到,应该在f(1)的基础上考虑递推关系。那么,如果固定一个节点后,左右子树的分布情况为1=1+0=0+1,故有f(2) 阅读全文
posted @ 2020-07-23 14:27 鲸小鱼- 阅读(1440) 评论(0) 推荐(0) 编辑
摘要: 全局变量与静态变量 static 声明的变量在C语言中有两方面的特征: 1.变量被放在程序的全局存储区中,这样在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2.变量用static告知编译器,自己仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips: A.若全 阅读全文
posted @ 2020-07-22 10:17 鲸小鱼- 阅读(1743) 评论(0) 推荐(0) 编辑
摘要: 1.什么是static? static 是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数 阅读全文
posted @ 2020-07-22 09:59 鲸小鱼- 阅读(736) 评论(0) 推荐(1) 编辑
摘要: (1)select==>时间复杂度O(n) 它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。 ( 阅读全文
posted @ 2020-07-21 11:17 鲸小鱼- 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 计算机系统 我们知道计算机系统是由硬件和软件组成的。它们共同工作来运行应用程序。虽然系统的实现方式随着时间不断变化,但是系统内在的概念却没有改变。所有计算机系统都有相似的硬件和软件组件,它们执行着相似的功能,我们只有深入了解这些组件是如何工作的,以及这些组件是如何影响程序的正确性和性能的,才能写出高 阅读全文
posted @ 2020-07-20 09:44 鲸小鱼- 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 在C语言中,指针的功能十分强大,这使得在C中程序员对于指针的使用要十分地谨慎。那么首先我们对于指针的使用就是要对空悬指针(dangling pointer)和野指针进行避免。 首先我们介绍空悬指针,空悬指针指的是一个指针,当它指向的对象已经被释放的时候而自身却没有被置为null的时候,那么这个指针就 阅读全文
posted @ 2020-07-15 11:13 鲸小鱼- 阅读(361) 评论(0) 推荐(0) 编辑
摘要: ON_MESSAGE响应的是自定义消息,有关自定义消息的处理请看如下步骤: #定义消息: 在CCDlg类的头文件中加入如下代码: #define WM_CUSTOMIZE WM_USER+1 头文件中加入Customize的声明: afx_msg LRESULT Customize(WPARAM w 阅读全文
posted @ 2020-07-02 09:36 鲸小鱼- 阅读(379) 评论(0) 推荐(1) 编辑
摘要: #为什么静态成员不能在类内初始化? 在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。 class A { private: static int count ; // 类内声明 }; // 类外定义并初始化,不必再加static关键字 int A::c 阅读全文
posted @ 2020-06-30 18:16 鲸小鱼- 阅读(3426) 评论(0) 推荐(4) 编辑
摘要: 一、概要 对于每一个Linux Ubuntu系统学习者来说,了解Linux文件系统的目录结构是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关重要,下面我们就开始了解一下linux目录结构的相关知识。 二、单用户操作系统和多用 阅读全文
posted @ 2020-06-30 09:24 鲸小鱼- 阅读(291) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页