一、分治法

将一个问题分解为规模较小的一些子问题,这些子问题相互独立,且与原来问题形式相同。递归解决这些子问题,并将子问题的解合并得出原问题的解。

  • 分解:将原问题分解为一系列子问题
  • 解决:递归地解决各个子问题。若子问题足够小,则直接求解。
  • 合并:将子问题的结果合并成原问题的解。

1.分治法(递归)

递归,就是在运行中自己调用自己。
如斐波那契数列0,1,1,2,3,5,8…

int F(int n){if(n==0)return 0;if(n==1)return 1;if(n>1)return F(n-1)+F(n-2);}

2.分治法(二分查找)

int Binary_Search(int L[],int low,int high,int x){if(low>high)return -1;else{mid=(low+high)/2;if(x==L[mid])return mid;else if(x>L[mid])return Binary_Search(L,mid+1,high,x);else return Binary_Search(L,low,mid-1,x);}}

二、回溯法

深度优先算法,按选优条件向前搜索。但当搜索到某一步时,发现原先选择并不优或达不到目标,就退一步重新选择。

三、贪心法

总是做出在当前来说是每一步最优的选择,而不从整体上加以考虑。但不一定是最优解。
如解决背包问题:优先考虑单位物品价值最高的情况。

四、动态规划法

将原问题分为若干个子问题。子问题可能不是独立的,把每一个子问题的解都求出来,再根据条件,每一步都进行查表,得出每一步最优解。
大量程序是再构造表,最后输出结果是在查表。
如何区分分治法和动态规划法:动态规划法对于每一步,都要涉及查表

五、排序

1.直接插入排序

从第二个元素开始,将元素插入前面有序数组的相应位置。

2.希尔排序


首次d=数组长度/2
往后每次d=d/2,直到d=1为止
此时元素达到基本有序,最后再次使用直接插入排序

3.归并排序

问题描述:将两个有序数递增组合并为一个有序递增数组
步骤:

4.冒泡排序

void BubbleSort(int A[],int n){int i,j,temp;for(i=0;i<n-1;i++)for(j=1;j<=n-1-i;j++){if(A[j-1]>A[j]){temp=A[j];A[j]=A[j-1];A[j-1]=temp;}}}

软件设计师刷题知识点-算法部分相关推荐

  1. 软件设计师刷题与知识点总结 笔记

    ---------------------------------------------- 本文章中的题目为维普考试平台中的软件设计师的题目(每天都有更新) 本文太长,如需查看某一类别的题,可根据目 ...

  2. 软件设计师真题知识点(本人刷题笔记)

    2021年上半年真题 在嵌入式系统中可以用Flash来代替ROM存储器. 顶层数据流图描述了系统的输入和输出:类型检查在(语义分析)阶段处理. Java语言符合的特征有(采用即时编译)(对象在堆空间分 ...

  3. 软件设计师刷题——标准化和知识产权

    1.软件著作权自软件开发完成之日起产生. 2.智力活动规则和方法是一些人为的规则,如管理规则.游戏规则.统计方法.分类方法和计算方法等.不取得专利权 3.我国授予专利权采用先申请原则,即两个以上的申请 ...

  4. 软考软件设计师常考知识点

    一.软件设计师上午题常考点总结 自己刷题时总结的软件设计师上午题基础知识的常考点,后面的数字为教材上相关知识点所对应的页码.教材为清华大学出版社的软件设计师第5版. 1.海明校验码:Gantt和PER ...

  5. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  6. Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤...

    TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题. Jav ...

  7. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  8. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  9. 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

最新文章

  1. 对学习编译原理的看法
  2. 正则表达式最常用的符号匹配
  3. linux suse 共享目录_SUSE Linux 创建NFS共享文件夹
  4. OC中数组排序的3种方法
  5. ABP vNext IOC替换原有Service实现
  6. CV之Haar特征描述算子-人脸检测
  7. python极简应用_30个Python常用极简代码,拿走就用
  8. struct interface_今天就谈谈go中的接受 interface 参数,返回 struct
  9. BigDecimal的保留位数和四舍五入的方法
  10. SAP物料批次管理配置及操作手册(轉載)
  11. 简单说一说闩锁效应LUP
  12. PXE配置-Tftpd64
  13. 机器学习实战 | 综合项目-电商销量预估进阶方案
  14. 计算机图形学:DDA(数值微分)画线法
  15. 初中计算机老师面试自我介绍,信息技术老师自我介绍
  16. node获取系统字体
  17. 创建简单的Nape刚体
  18. 智公网:公务员行测基础考点
  19. 移动端vue调用照相机及相册
  20. 【obs】转载:OBS直播严重延迟和卡顿怎么办?

热门文章

  1. Linux下最新版MySQL 8.0的下载与安装(详细步骤)
  2. 【自动控制系统的基本原理】
  3. MacOS苹果系统上如何写C++ (Visual Studio Code) Hello World
  4. 全景丨0基础学习VR全景制作,平台篇第17章:热点功能-视频
  5. internal 和 external
  6. 2022-2027年中国智能手机维修行业发展监测及投资战略研究报告
  7. 昆明网站建设公司排名榜
  8. Android Studio编译JNI时指定CPU种类
  9. 解析SNS社区产品架构模型,互联网营销
  10. FPGA_MIG驱动DDR3