今日无事,从上午开始看C++基础,想到晚上要去吃羊肉火锅,顿时充满了动力
贵州的习惯和北方不同,冬至不吃饺子而是吃羊肉,我家则采取吃羊肉火锅的方案度过冬至。南方的好处在于不少锅炉或桌炉,这使我至少可以窝在一旁看书
昨天看了iostream、cout、名称空间之类的概念,开了个头,今天把该书(《C++PrimerPlus》)的第二章看完了,总体上来说与C的风格基本没变,但多了C++的特性和OOP这一概念后,看待函数就和学C时就有所不同了,估计这也是第一章就把函数定义拿出来讲的原因,类、对象之于OOP在这个阶段就要形成概念分清楚。在Java专业课讲方法的时候,老师有给我们提及OOP的思想。
好处在于该书也像《C》那本书一样掰开揉碎地讲,确实让人可以尽量理解。除了上述概念,在讲述cout和cin时提及了流的概念。其他内容(如本章中提及的函数部分)则与C大同小异,此处不再赘述了,主要还是因为此处是基础。
下午空闲时间,把《大话数据结构》的第四章“栈与队列”看了一半,看完了栈。栈使我首先想起那个婴幼儿玩的叠罗汉,《猩球崛起》里做实验猩猩玩的那种,这是我感到的第一个难点,即栈的一些操作也要像那种叠罗汉一样,在限定的条件里找到最优解,尽管时间复杂度都看做O(1),但我觉得这事也挺考验智商的,当然了,等以后细学再深究。
栈中讲到了递归,插个题外话,和我那位哥们交流时经然说成“递推”了,闹笑话了。原先在看C的时候,讲函数一章(或者是循环)提及了递推,当时是按43211234一个顺序实现的程序,但当时并没有栈的概念,因此只能从逻辑上推导何为递推,现在引入了栈的概念后就明了了,我很喜欢书中用弹匣的比方解释最初的概念。
再说句题外话,《图解算法》中讲栈一概念时用的图确实浅显易懂(尽管我现在看来单纯的栈理解起来不难),但我不会将其推荐给要学习算法及数据结构的人的,理解的并不透彻,但也可能是我对这书的定位有误会吧。
其中比较有意思的是中缀表达式转化为后缀表达式的实现过程,我觉得很好的体现了栈的价值,当然这只是一个例子。
在学完栈后我就去吃羊肉火锅了,实际上我对吃饭没有学算法热情,尽管羊肉蘸辣椒很好吃。
回来后把剩下的队列看完了,这期间我那哥们看完了《赛博朋克·边缘行者》破了大方,我便一边看一边和几个兄弟聊天,实际上没看太明白,明天收个尾。
书里有些概念没讲明白,有些概念我没理解。比如当队列满了后,指向队尾元素下一位置的指针会怎样?书中只给了例当0,1空而队尾满时会有“假溢出”一概念,二者是一回事吗?还有就是我看队列的两指针设置的方便而复杂,在方便使用的时候落下了需要用标志变量判断的代价。还有队列的链式存储结构没看完。
最近几日除了日常学C++和数据结构算法外,该复习复习了,高数和C不明白的地方再多看几遍。
标签:火锅,队列,破防,C++,二次元,概念,羊肉,OOP From: https://www.cnblogs.com/SteelTractor4223/p/16999793.html