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

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

三、排序算法和设计模式

  本阶段的目的:

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


  侧重点

       对排序以及算法进行学习,给其他人输出,对于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月前
|
安全 网络安全 网络架构
网络开发过程详细知识点
网络开发过程详细知识点
57 0
|
6月前
|
自然语言处理 算法 前端开发
【软件设计师备考 专题 】编译、解释系统的基础知识和基本工作原理
【软件设计师备考 专题 】编译、解释系统的基础知识和基本工作原理
98 1
|
6月前
|
网络协议 前端开发 网络虚拟化
软考网络规划师复习第六章:基础网络实验
软考网络规划师复习第六章:基础网络实验
编程学习之路第一步
编程学习之路第一步
35 0
|
算法 Java 测试技术
我的算法基础实验代码-下篇
算法题目,Java语言版
75 0
|
设计模式 算法 开发工具
软件设计师总结-含括学习方法和学习过程,可参考(上)
软件设计师总结-含括学习方法和学习过程,可参考(上)
|
设计模式 Java 程序员
理论与实践:如何写好一个方法
鉴于团队越来越强调开发规范,本人被diss了很多次,haha,为了改变这一现状,总结了一些提升方法代码质量的方法。个人认为一个好的方法主要表现在可读性、可维护性、可复用性上,本文通过设计原则和代码规范两章来讲解如何提高方法的可读性、可维护性、可复用性。这些设计原则和代码规范更多的是表现一种思想,不仅仅可以用在方法上,也可以用在类上、模块上。下面通过具体的例子来讲解。设计原则单一原则单一职责解释是一
71 0
《算法笔记知识点记录》第三章——入门模拟(2)
《算法笔记知识点记录》第三章——入门模拟(2)
《算法笔记知识点记录》第三章——入门模拟(2)
|
设计模式 算法 Java
《刻意练习》:以学习编程为例
《刻意练习》是一本神奇的魔法书,它用大量的事实案例和数据来证明了刻意练习能给一个人带来的巨大改变。更为难能可贵的是,它不仅仅只是介绍刻意练习的好处,还给读者介绍了刻意练习的方法和注意事项,可以说是干货满满的一本书。
448 0