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

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

第一章 引论

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


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代码风格中推荐所有输入参数使用引用,输出参数使用指针形式;



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

家有一枚袁宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值