- 博客(22)
- 收藏
- 关注
原创 《代码随想录(Carl)》二叉树递归函数返回值种类总结
《代码随想录》二叉树专题中递归函数什么时候要有返回值,什么时候没有返回值。1递归函数没有返回值。需要遍历整颗树;2递归函数有返回值。如果搜索整个树,直接⽤⼀个变量left、right接住返回值,利用left、right进行后序遍历中间节点的逻辑处理(也是回溯)。3递归函数有返回值。要找⼀条符合条件的路径,并不要遍历整棵树,所以递归函数需要返回值,如果递归函数返回true,说明找到了合适的路径,应该⽴刻返回true。4递归函数有返回值。搜索目标节点,直接return递归函数返回值。5递归函数有返回值。需要遍历
2024-03-30 20:31:01
439
原创 《代码随想录(Carl)》 数据结构与算法 二叉树专题大总结
把《代码随想录(Carl)》数据结构与算法 中二叉树专题的各分支每道题目的关键知识点做了注释!
2024-03-29 17:55:30
280
原创 《代码随想录(Carl)》 数据结构与算法 程序的性能分析知识点总结
程序的性能分析包括时间复杂度和空间复杂度;任何开发计算机程序的软件工程师都应该对程序的运行时间和占用内存大小有一个大致的评估。
2023-02-07 19:51:30
337
转载 memset函数及其用法,C语言memset函数详解
转载自http://c.biancheng.net/view/231.html在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。它是直接操作内存空...
2018-12-19 10:08:41
264
转载 C++头文件中为什么有些要加h
.h的是标准C的头文件,没有.h的是标准C++的头文件,两种都是头文件。造成这两种形式不同的原因,是C++的发展历史决定的,刚才正好有别的人也问这个问题,这里我再回答一下(注意vs2008和vs2005对标准C++的支持是一样的):以iostream和stdio.h为例,iostream是C++的库,stdio.h是标准C的库。2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面...
2018-12-04 13:36:26
2345
1
转载 c++11标准
C++11标准由国际标准化组织(ISO)和国际电工委员会(IEC)旗下的C++标准委员会(ISO/IEC JTC1/SC22/WG21)于2011年8月12日公布[2] ,并于2011年9月出版。2012年2月28日的国际标准草案(N3376)是最接近于C++11标准的草案(仅编辑上的修正)。此次标准为C++98发布后13年来第一次重大修正。 1.对C++核心语言的扩充 2.核...
2018-11-21 13:51:28
854
转载 C++多态的好处和作用(游戏程序实例)
在面向对象的程序设计中,使用多态能够增强程序的可扩充性,即程序需要修改或增加功能时,只需改动或增加较少的代码。此外,使用多态也能起到精简代码的作用。本节通过游戏实例来说明多态的作用。游戏程序实例游戏软件的开发最能体现面向对象设计方法的优势。游戏中的人物、道具、建筑物、场景等都是很直观的对象,游戏运行的过程就是这些对象相互作用的过程。每个对象都有自己的属性和方法,不同对象也可能有共同的属性和方法...
2018-11-19 22:04:46
3446
2
转载 strlen 与 sizeof 的区别
strlen(char*)是函数,求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。 char a[10];cout<<strlen(a)<<endl; //结果是不定的 char a[10]={'\0'}; cout<<s...
2018-11-19 16:18:15
153
原创 #define与const区别总结
一:C++中不但可以用define定义常量还可以用const定义常量,它们的区别如下:#define MAX 255;const float MAX = 255;(1)作用阶段:#define-在编译的预处理阶段,编译器把所定义的常量名字和常量值联系起来,进行替换;const-在编译时确定其值,在编译、运行的时候起作用。(2)作用方式:#define-定义的常量没有数据类型,所给出的...
2018-11-14 10:22:55
329
原创 A*算法计算步骤总结
A*算法计算步骤总结1,从点A开始,并且把它作为待处理点存入一个“开启列表”。开启列表就像一张购物清单。尽管现在列表里只有一个元素,但以后就会多起来。你的路径可能会通过它包含的方格,也可能不会。基本上,这是一个待检查方格的列表。2,寻找起点周围所有可到达或者可通过的方格,跳过有墙,水,或其他无法通过地形的方格。也把他们加入开启列表。为所有这些方格保存点A作为“父方格”。3,从开启列表中删除点...
2018-11-09 11:44:10
19224
2
原创 C++中的虚表(vtable)和虚指针(vptr)示例详解
C++中的虚表(vtable)和虚指针(vptr)示例详解1、每个有virtual函数的c++类都有一个vtable,每个类对象都有个vtable的vptr;2、在vc中,类的继承是在基类后面追加数据的形式进行继承的。测试代码如下(在32位系统下的vs2008环境中测试的):class Test{public:Test(int a) {data = a;}virtual ~Test()...
2018-10-11 18:00:50
3283
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人