汇总123

news/2024/7/8 11:41:03
  • 纯概述,概念题

  • 结合代码片段分析时间复杂度,空间复杂度

  • 画搜索树(第五章):

    • 深度优先
    • 宽度优先
    • 活结点法

    什么是算法?算法的定义

    • 通常把解决问题的确定方法和有限步骤称为算法,对于计算机科学来说,算法指的是对特定问题求解步骤的一种描述

    算法的特性?

    输入(有零个或多个输入)、输出(有一个或多个输出)、确定性(每条指令都必须明确的含义,无歧义)、有限性(每条指令的执行次数都是有限的)、可行性(可实现)

    算法的描述方式(主要是伪码,高级语言的源代码),每种方式展开说

    • 自然语言,如汉语、英语等等,优点:简单通俗易懂,缺点是不够严谨,繁琐且不能够被计算机执行
    • 图形,如流程图、N-S图、PAD图,优点:直观形象、简洁明了,缺点:画起来费事,不易修改,且不能执行
    • 程序设计语言:各种高级程序语言,如C、C++、Java、python等,优点是:描述的算法能直接被执行,缺点是抽象性差、不易理解、且有严格的格式要求和语法限制
    • 伪代码:伪代码是介于自然语言与程序设计语言之间的一种用文字和符号结合的算法描述工具,他忽略了程序设计语言中一些严谨的语法规则与描述细节,因此他更容易被人理解,他比自然语言更贴近程序设计语言,更容易转化为程序设计语言

    算法的一般过程

    • 充分理解要解决的问题
    • 数学模型拟制
    • 算法详细设计
    • 算法描述
    • 算法思路的正确性验证
    • 算法分析
    • 算法的计算机实现和测试
    • 文档资料的编制

    算法分析的概念

    • 对算法的复杂性进行分析,即对算法在运行过程中所需要的计算机资源的量

    算法分析分析的是什么

    • 时间复杂度与空间复杂度

    时间复杂度、空间复杂度的概念:

    • 时间复杂度:对算法运行时间长短的度量,度量方法通常有两种,事后统计法与事前分析估算法

    • 空间复杂性:对一个算法在运行过程中所占用存储空间大小的度量

    贪心的基本思想

    • 从问题的某一个初始解出发,在每一个阶段都根据贪心策略来做出当前最优的决策,逐步逼近给定的目标,尽可能快的求得更好的解,即以逐步的局部最优,达到最终的全局最优

    分治法的基本思想

    • 把一个复杂的问题分成两个或更多的相同子问题,再把子问题分成更小的子问题,直到最后各个子问题可以简单的直接求解,对各个子问题的解进行合并即得原问题得解

    动态规划的基本思想

    实质是分治思想和解决冗余,因此它与分治法和贪心法类似,他们都是将待求解问题分解为更小得、更相同得问题,然后对子问题进行求解,最终产生一个整体最优解。适用于动态规划得问题,经分解得到得各个子问题往往不是相互独立得,在求解过程中,将已解决得子问题得解进行保存,在需要时可以轻松找出。

    回溯法、分支限界法二点基本思想

    • 回溯法:确定了解空间的组织结构后,回溯法从根节点出发,以深度优先搜索方式搜索整个解空间。回溯法以这种工作方式递归地在解空间中搜索,直到找到所要求的解或解空间所有解都被遍历过为止。
    • 分支限界法:分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树
  • 计算

    • 时间复杂度的计算,复杂度化简,要有步骤,
      • 代入法
      • 递归树
      • 注定理
      • 猜测法
  • 实例算法计算(第四章、动态规划)书上的题

    • 画表格,表格填满,不用具体步骤
    • 表格线可以不画,对齐即可
    • 追溯解
    • 追溯最优值

http://lihuaxi.xjx100.cn/news/1208440.html

相关文章

互联网野蛮生长,但金三银四好像消失了!

每次看到程序员字眼,就是秃头,肥胖,宅男、996,程序员,但是耐不住工资高啊!但只有程序员才知道,干IT的,都有一个自己的程序员梦,梦想着能用 “代码改变世界”。 代码能不…

选购keithley2400 200V,1A,20W吉时利2400数字源表

Keithley 2400 源表,200V,1A,20W 产品概览Keithley 2400 SourceMeter 是一款 20W 仪器,允许提供和测量从 5V(源)和 1V(测量)到 200V DC 的电压以及从 10pA 到 1A 的电流。万用表功能…

第17节:cesium 图元聚合基础教程(含源码+视频)

相关代码: <template><div class="viewer"><vc-viewer @ready="ready" :logo="false"><vc-layer-imagery><vc-pr

TreeSet 使用匿名类添加Student实体类数据 唯一按升序排序

student实体类代码如下所示&#xff1a; package com.test.Test10;public class StudentNiMingLei{private int age;private String name;public int getAge() {return age;}public void setAge(int age) {this.age age;}public String getName() {return name;}public void …

【Linux】Linux编译器 gcc/g++的使用初识动静态链接库

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;Linux &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【Linux】…

【Greendao】RxQuery的释放,避免内存泄漏

GreenDAO 3.0.0 以及之后的版本中&#xff0c;RxQuery 的释放需要注意以下几点&#xff1a; 取消订阅&#xff1a;为避免内存泄漏&#xff0c;RxQuery 需要在不需要的时候进行取消订阅&#xff08;unsubscrible&#xff09;&#xff0c;例如在 Activity 或 Fragment 的 onDestr…

附录2-小程序常用API

API有三大类&#xff0c;事件监听API&#xff0c;同步API&#xff0c;异步API 事件监听API都以on开头&#xff0c;比如wx.onWindowResize()监听窗口尺寸变化事件 同步API都以Sync结尾&#xff0c;同步API可以通过函数返回值直接获取&#xff0c;执行出错会抛出异常。比如 wx.…

c# 从零到精通 switch 语句

c# 从零到精通 switch 语句 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test03 { class Program { static void Main(string[] args) { string MyStr “用一生下载你”; //声明一个字符串变量MyStr并初始化 switch (…