数据结构与算法分析c++版本学习总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27450255/article/details/78467382

主要记录了数据结构的学习心得和总结,方便以后参阅

第一章 引论

该部分主要介绍了一些基本概念和数学基础


1、递归

当一个函数用自身来定义时就称为递归(recursive)。

递归的基本法则:

1)基准情形。必须存在某些基准情形作为递归的终止形式。

2)不断推进。总能够朝着一个基准情形推进。

3)设计法则。假设所有递归调用都能运行。

4)合成效益法则。在求解一个问题的同一实例时,切勿在不同的递归调用中做重复的工作。


2、c++类

1)explicit构造函数

所有的单参数构造函数都必须时explicit的,以避免后台的类型转换,例如Vector<Object> obj = 37;

2)常量成员函数

只进行检测但不改变其对象的状态的成员函数称为访问函数;

改变其对象状态的成员函数称为修改函数;

例如,

访问函数:isEmpty();

修改函数:makeEmpty();

默认情况下,所有成员函数都是修改函数,使其成为访问函数必须在参数类型列表结尾的圆括号后添加const关键字,int read() const;;


3、动态对象创建

Object* obj;

obj = new Object();

obj = new Object;

两种方法都可以,推荐第二种;


4、参数传递

1)按值调用适用于不被函数更改的小对象,如int;

2)按常量引用调用适用于不被函数修改的大对象,如vector<int>;

3)引址调用适用于所有可以被函数修改的对象,goole代码风格中推荐所有输入参数使用引用,输出参数使用指针形式;



没有更多推荐了,返回首页