zoukankan      html  css  js  c++  java
  • 数据结构-第3章学习小结

    第三章小结

    一、对本章内容的小结如图

    二、完成作业或实践时的心得体会

    1. 懂得stack、queue的各种操作后再用STL感觉方便很多

    2. 感觉自己有时候会想太多,比如作业题括号匹配我觉得 没有需要匹配括号的情况 运行结构应该是no,但是其实yes跟no都可以过测试点

    3. 作业跟实践1都打的比较顺,实践2(出栈序列的合法性)就有点慌了

    问题在于:一开始认为用数组来存放输入数据的话需要用两层循环,然后判断又应该需要两层循环,觉得时间复杂度可能有点大,然后就想用字符串(在错的道路越走越远的感觉)最后两个测试点过不了。问了小组同学他们也用了多个循环,我才重新回到原来的想法去打。有个小收获:利用STL的stack容器时,要写 !s.empty()  && s.top() == a[p] 不能写成s.top() == a[p] && !s.empty(),应该是因为s为空时不能访问s.top

    三、讨论/课前提问/小组合作收获

    1. 使用递归求解问题,分两步:1)写出递归公式  ; 2)根据递归公式进行求解(写代码)

    2. 根据递归公式进行求解,有两种方法:

      1)迭代——自底向上的求解方法(由最小规模问题逐步向上求解,直至求出原问题的解)

      2) 递归——自顶向下的求解方法(从原问题出发,分解出规模减小了的子问题,直至终止条件, 然后由终止条件的结果进行回推,求出原问题的值)

      两种方法比较:递归编程简单,只需要关注本层逻辑。但是,递归有可能出现重复子问题 的情况——使用备忘录记录已经求解过的子问题来优化

    3. 一种巧妙删除 L 的第一个有数据的结点(并没有真正删除首元结点,只是把首元结点变成了头结点,删除了原来的头结点)

    优点:无需考虑只剩最后一个元素结点的情形,因为不会真正删除这个结点,所以 tail 指针不会变成野指针

    void Delete(List &L) 
    {  
         if (L.head->next == NULL) 
        { 
             cout << "Empty list" << endl; 
             return; 
         }
    
         LNode *p = L.head; 
         L.head = L.head->next; 
         cout << "Delete " << p->next->data << " OK" << endl; 
         delete p; 
    }

    4. 打代码前要仔细看并利用好题目的条件,可能会隐含优化代码的突破点

    四、向大家分享的资料

    1. C++ STL入门总结:https://blog.csdn.net/happyguys12345/article/details/72828625

    2. STL容器当作参数传递:https://blog.csdn.net/yishaxiaoyao/article/details/44344097

    五、上一阶段的目标完成情况,接下来的目标

    1. 对上一阶段目标完成阶段自我感觉良好,学习预习、上课、打代码都是认真对待。(唯一担心学了新的,旧的知识可能会陌生一点,所以需要不定时回顾复习或者打打相关代码)

    2. 接下来也没有什么大目标,依旧还是好好学习,好好打代码,学着把知识应用起来。还有就是能熟练使用STL。

  • 相关阅读:
    JavaScript操作符instanceof揭秘
    Linux打开txt文件乱码的解决方法
    Working copy locked run svn cleanup not work
    poj 2299 UltraQuickSort 归并排序求解逆序对
    poj 2312 Battle City 优先队列+bfs 或 记忆化广搜
    poj2352 stars 树状数组
    poj 2286 The Rotation Game 迭代加深
    hdu 1800 Flying to the Mars
    poj 3038 Children of the Candy Corn bfs dfs
    hdu 1983 Kaitou Kid The Phantom Thief (2) DFS + BFS
  • 原文地址:https://www.cnblogs.com/Madge/p/12770469.html
Copyright © 2011-2022 走看看