软件设计师总结-含括学习方法和学习过程,可参考(下)

简介: 软件设计师总结-含括学习方法和学习过程,可参考(下)

三、排序算法和设计模式

  本阶段的目的:

       理解软件设计的本质和内涵,学习前人总结出的精华,


  侧重点

       对排序以及算法进行学习,给其他人输出,对于23种设计模式进行分类学习并理解各自的特点,都要落实到图(UML图)和代码上


  涉及的学习方法(最后有如何使用这些方法)

       二维表结构化、分享给他人(学习金字塔)、小组讨论、问题是最好的老师


   学习结果

创建型模式结构型模式 行为型模式
算法-贪心法求最大子数组的和

给你一个整数数组 ,请你找出一个具有的连续子数组最大和(子数组最少包含一个元素),返回其最大和。

        
注意:子数组是数组中的一个连续部分。

nums = [-2,1,-3,4,-1,2,1,-5,4]

public class Greedy_tanxin {
    public static int maxSubArray(int[] nums) {
        int sum = 0; // 记录当前连续子数组的和
        int maxSum = nums[0]; // 记录最大子数组和,初始化为第一个元素
        for (int i = 0; i < nums.length; i++) {
            sum =sum+ nums[i]; // 将当前元素加入连续子数组
            if (sum > maxSum) { // 如果当前连续子数组和大于最大子数组和,则更新最大子数组和
                maxSum = sum;
                System.out.println("maxSum: " + maxSum);
            }
            if (sum < 0) { // 如果当前连续子数组和小于0,则将当前连续子数组清空,从下一个元素开始重新构建连续子数组
                sum = 0;
            }
        }
        return maxSum;
    }
    public static void main(String[] args) {
        int[] arr = {-2,1,-3,4,-1,2,1,-7,4};
        int max_sum=maxSubArray(arr);
        System.out.println("最后结果为: "+max_sum);
    }
}

  其中部分排序和算法的代码已上传CSDN资源供大家学习,有需要的同学可以自取,链接如下:


       部分排序和算法代码资源


       我也总结了相应的博客,欢迎大家前来访问哦


   八大排序算法-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序、基数排序(上)

        八大排序算法-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序、基数排序(下)

 遇到的问题

    其中对于各个设计模式之间的区别和联系不是很明确,并且设计模式的使用场景会混淆。

    这一点,大家可以根据不同的设计模式自己想一个符合的小故事进行结构化


四、历年真题训练

  本阶段的目:

       找到考试的感觉,通过昨天补充漏掉的知识点,熟悉各种题型


  侧重

       认真对待每一套真题,把每次做真题都要当作一次考试。

       每做完一套题,必须认真分析题,记录自己错过的题(尤其是哪些反复错过的题)以及它所涉及的知识点,还有难点和易错点,结合书本查漏补缺,针对错题,易错点,难点强化练习,突破难点,找回自信,逐步突破每个难点,让软考变得容易。其实分析题比做题更重要。并且把每次做的答案保留下来,通过数据来分析自己经常出错的地方。分析最近几年的考试的类型,尤其是下午题的设计模式、算法。

       建议大家做真题的顺序都是从旧到新,挨着来,一直做到最新的,目的在于体会题型的变化。这样能体会到题型的变化,不用怕专项复习的时候做过了,重新再做一遍一样会有新的收获。


 涉及的学习方法(最后有如何使用这些法)

  二维表结构化、给他人讲题(学习金字塔)、小组讨论、问题是最好的老师、总结并分享解题技巧

  小组主要讨论一些非理论的,共性大的错误,分享解题技巧。


学习结果

   用到的软件有APP:希赛软考助手、软考真题;小程序:51cto题库、软考刷题王。

   每个程序都有自己的特点,我用的最多的还是希赛软考助手,每道题下面有老师回复同学的解题思路或问题,站在巨人肩膀上!

这一阶段必须要将答案写下来,准备一个笔记本进行总结,或记录到文档里。


   遇到的问题

       之前考过了数据结构导论,对于图、表这块学的还可以,在学软考的时候没有全面的复习,漏掉了一些知识点,做真题时也有没有遇到的题型,导致在考下午题的时候,第四题算法题考到了一个邻接表的问题,不出意外的话,一定会出意外!所以复习要全面一些。


       我们需要超越自己的舒适区,去尝试新的事物和挑战自己的能力。这样才能不断地提升自己的能力和水平,也才能更好地适应未来的变化和挑战。


总结

学习计划安排

       1、计划一定要提前做,可以使用表格或甘特图的形式,以每月每周为大目标,每周细致到每天和每小时

       2、使用PDCA的方法,根据上一周期检查出的问题针对性改进完善下周期的计划,良性的循环

       3、使用番茄时间工作法,每25分钟一番茄,休息5分钟,科学有效!


备考过程中的学习方法

       1、三遍读书法


       2、番茄时间工作法


       3、PDCA循环


       4、小组学习 + 问题是最好的老师!+ 教是最好的学!(学习金字塔)


       5、多维度结构化:形式为二维表或思维导图,从不同里找相同点,从相同点里找不同点,结合上之前学过的知识


       6、思想上移,行动下移:行动下移体现在如学习设计模式和算法时,落实到代码和UML图上


科学的学习方法+自信+脚踏实地=成功!

如果本篇博客对您有一定的帮助,请您留下宝贵的三连:留言+点赞+收藏哦。

相关文章
|
6月前
|
安全 网络安全
Day1:360培训学习重点笔记(7.13)
Day1:360培训学习重点笔记(7.13)
|
7月前
|
自然语言处理 算法 前端开发
【软件设计师备考 专题 】编译、解释系统的基础知识和基本工作原理
【软件设计师备考 专题 】编译、解释系统的基础知识和基本工作原理
107 1
|
算法 Java 测试技术
我的算法基础实验代码-下篇
算法题目,Java语言版
80 0
|
设计模式 算法 开发工具
软件设计师总结-含括学习方法和学习过程,可参考(上)
软件设计师总结-含括学习方法和学习过程,可参考(上)
101 0
一次有趣的学习过程
嗨!大家好,我是小蚂蚁。 今天这篇文章记录的是一次有趣的学习过程,起因是昨天我在学员群里发了这样的一条信息。 这原本是一位学员的需求,想要在游戏中做一个文字逐个出现的打字机效果,因为我暂时还没有写与此相关的教程(也没有考虑过如何实现),所以就把这个问题抛了出来,顺便看一下大家的想法。 没想到的是这下可热闹了,下面记录的就是关于这次有趣的学习的全过程。
91 0
|
程序员 编译器 C++
C++(入门、核心、提高三篇)总结及补充
C++(入门、核心、提高三篇)总结及补充
114 0
C++(入门、核心、提高三篇)总结及补充
|
弹性计算 Linux 网络安全
学习过程中的Q&A
macbook以及linux的操作
103 0
《算法笔记知识点记录》第三章——入门模拟(2)
《算法笔记知识点记录》第三章——入门模拟(2)
《算法笔记知识点记录》第三章——入门模拟(2)
|
运维
DO447利用推荐做法进行开发--章节实验
DO447利用推荐做法进行开发--章节实验
131 0
DO447利用推荐做法进行开发--章节实验
下一篇
DataWorks