• ********2019-2020-1 《数据结构与面向对象程序设计》 第七周学习总结


    ********2019-2020-1 《数据结构与面向对象程序设计》第七周学习总结

    教材学习内容总结

    栈与链表:

    栈的概念、特点、应用:

    栈的概念:

    栈可以定义为只允许在表的末端进行插入和删除的线性表。允许插入和删除的一端被称为栈顶,而另一端则被称为栈底。当栈中没有任何元素时,被称为空栈。

    e.g:假设有栈S={a1,a2,a3,…,an},那么最后加入栈中的元素an被称为栈顶。进栈按照顺序a1,a2,…,an,出栈则按照an,an-1,…a1。若an-1需要出栈,则必须先将an出栈.

    栈的特点:

    先进后出

    e.g:
    作业本的叠放、水杯杯口的取放

    顺序栈示意图:

    链式栈示意图:

    顺序栈与链式栈的比较:

    顺序栈使用一组地址连续的存储单元依次从栈底到栈顶的元素,物理位置和逻辑位置关系一致,访问时间为O(1),压栈和出栈的时间消耗均为O(1)。但是需要预先分配存储空间,故可能存在扩容的问题,扩容时数组的移动会造成O(n)的性能消耗

    链式栈是动态分配存储空间,不存在扩容问题,压栈和出栈的时间消耗为O(1),所以推荐使用链式栈来实现栈功能

    栈的应用:

    十进制转N进制、行编辑器、校验括号是否匹配、中缀表达式转后缀表达式、表达式求值等

    链表:

    链表概念:

    链表是一种最为简单的数据结构,它的主要目的是依靠引用关系来实现多个数据的保存,那么下面假设现在要保存的数据是字符串(引用类型),则可以按照图所示的关系进行保存。

    上周考试错题总结

    上周莫得考试

    代码调试中的问题和解决过程:

    1、泛型和Object的区别?:

    - 泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

    - Object是所有类的积累,范围更广,泛型T在使用的的时候就会具体到某一种类型

    - Object定义的类型在使用过程中需要强转,这就需要我们预先知道是什么类型,编译器不会检查Object类型的强转错误,只有在运行时才会抛出;泛型T的类型在编译期间就会进行检测,它的类型转换是自动的,隐式进行的

    2、Stack双括号

    • 解决过程:我认为双括号的问题大概在于当进行PUSH操作时将整个数组PUSH而不是将其内部的值进行PUSH
    • 解决方案:使用循环将数组进行分开赋值。

    代码托管

    代码托管

    结对及互评

    点评

    • 博客中值得学习的:
      • 教材学习内容概括行强,简介明了。
      • 有自己动手打新代码,加入了很多个人的理解。
      • 内容很充实,很用心,比上次进步了很多。
      • 博客格式正确,运用了很多不同的方法,排版精美。
      • 希望能在课本内容总结以及问题&解决过程中加入自己的思考,使博客内容更加充实。
        基于评分标准,我给本博客打分12分:
        得分情况如下:
        正确使用Markdown语法(加1分)
        模板中的要素齐全(加1分)
        教材学习中的问题和解决过程(加2分)
        代码调试中的问题和解决过程(加2分)
        其他加分(加6分)
        进度条中记录学习时间与改进情况(1)
        感想,体会不假大空(1)
        有动手写新代码(1)
        错题学习深入(1)
        点评认真,能指出博客和代码中的问题(1)
        结对学习情况真实可信(1)

    点评过的同学博客和代码

    • 本周结对学习情况:

    其他(感悟、思考等,可选)

    单步调试真香啊

    参考资料

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 10000行 30篇 400小时
    第一周 138/138 2/2 23/23 减少了鼠标的使用次数
    第二周 749/887 1/4 25/48
    第三周 765/1652 1/4 25/48
    第四周 694/2346 1/6 20/87
    第五周 1659/4005 1/8 21/105
    第六周 531/4536 1/9 23/128
    第七周 1523/6059 1/10 38/166
  • 相关阅读:
    QML键盘响应
    C++获取迭代器的下标
    C++虚函数指针
    QVariant转指针或其他非内建数据
    Signal QQmlEngine::quit() emitted, but no receivers connected to handle it quit
    旧服务器上源代码迁移到新服务器
    SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
    Rdlc报表出现空白页解决方法
    我所经历的企业中IT部门在企业内部的地位
    Config程序配置文件操作实践进阶之ConfigurationSectionGroup
  • 原文地址:https://www.cnblogs.com/Stark-GR/p/11788789.html
Copyright © 2020-2023  润新知