《算法分析与设计》学习心得
在学习了《算法分析与设计》这门课后,我对常见的算法有了一个基本的了解。本书主要从算法概述、递归与分治策略、动态规划、贪心算法、回溯法、分支限界法、随机化算法、线性规划与网络流、NP完全性理论与近似算法等九个章节对计算机算法进行了介绍,我也将从以下几个方面对算法进行简单概括。
第一章--算法概述,主要介绍了算法和程序的定义及组成,以及评价算法优劣的标准--时间复杂度T(n)=O(f(n))和空间复杂度S(n)。
第二章--递归与分治策略。本章主要讲述了递归和分治(将问题拆分为k个规模较小的子问题,子问题可能会多次计算【递归是实现分治的一种手段】)的思想,以及涉及到递归与分治策略的二分搜索(折半大问题拆小)、大整数的乘法【分治成小数相乘再相加】、归并排序【有序子序列一分为二再合并】、快速排序【分为两个,小的在前大的在后,两个序列分别排序】以及循环赛日程表【递归往n阶填数,使得每个都与n-1个比赛过】问题。
第三章--动态规划。本章主要讲述了动态规划(求解决策问题最优化,问题分解,但子问题无需重复计算)的思想,以及动态规划算法的基本要素、最长公共子序列【KMP】、流水作业调度【多作业调度完工时间最少】、0-1背包问题【满足容量价值最高】、最优二叉搜索树【哈夫曼树,带权路径长度最短】等一系列问题。
第四章--贪心算法。本章主要讲述了贪心算法的基本思想(选择当前最优,获得局部最优解),以及贪心算法中的用到的哈夫曼编码【每次选最小的作为叶子节点组成一棵树生成新节点】、单源最短路径(Dijsktra算法)【每轮都找路径最短的点加入路径集合】、最小生成树【每次代价最小,加边/加点】问题等。
第五章--回溯法。本章主要讲述了回溯法的基本思想(问题转化为图或树,利用深度优先搜索DFS的方式寻找可行解),以及回溯法中常见的n皇后问题【n个放到n阶矩阵上,不同行不同列】、0-1背包问题、图的m着色问题【m种颜色才能使图中每条边连接的2个顶点着不同颜色】、旅行售货员问题【从i到i经过所有点路程最短(求哈密顿圈经过所有点再优化)】、批处理作业调度问题【作业完成时间和最小】、连续邮资问题【不同面值贴出连续邮资】等一系列问题。
第六章--分支限界法。本章主要讲述了分支限界法的基本思想(问题转化为通过队列或优先队列进行广度优先或以最小耗费扩展结点,实现对问题的求解),以及分支限界法中常见的单源最短路径问题、装载问题【n个不同重量的集装箱装入两艘船】、布线问题、0-1背包问题、旅行售货员问题、批处理作业调度问题等一系列相关问题。
第七章--随机化算法。本章主要讲述了随机化算法的基本思想(通过随机函数,使得决策问题的结果依赖于某种随机事件),以及随机化算法中常见的数值随机化求解定积分/求圆周率、拉斯维加斯算法求解整数因子分解和n皇后问题、蒙特卡洛算法计算素数等一系列问题。
第八章--线性规划与网络流。本章主要讲述了线性规划与网络流的基本思想(求解线性约束条件下线性目标函数的极值问题,以及网络上的最优化问题),以及线性规划与网络流算法中常见的单纯形算法【在最优解区间找一点,不符合再找近邻点】、最小费用与最大流【A到B流量最大费用最少】算法。
第九章--NP完全性理论与近似算法。本章主要讲述了NP完全性理论与近似算法的基本思想(非确定性多项式时间可解的判定问题通过近似方式进行求解),以及NP完全性理论与近似算法中常见的计算模型/图灵机、NP完全问题及其近似算法。
《算法分析与设计》主要通过对上述算法的介绍,让我对常见的算法有了基本了解,这对以后问题求解有很大的帮助。以上便是我对《算法分析与设计》这门课的学习心得。
《算法分析与设计》学习心得相关推荐
- 大学计算机软件基础心得体会,学习计算机应用基础心得体会.doc
文档介绍: 学****计算机应用基础心得体会.doc学****计算机应用基础心得体会小编语:学****计算机基础知识,掌握计算机基本的操作方法,是每个现代人必须学****的内容,目的就是在将来的工作. ...
- 学计算机应用基础学到了什么,2021年学习计算机应用基础心得体会-得范文网
计算机,即电脑,随着科学技术的发展,不断进行着更新发展.伴随着计算机走入人类生活,它已成为人们日常生活必不可少的一部分,甚至成为当下许多人工作生活依赖的工具,并衍生了一些与计算机有关的职业,如电脑工程 ...
- 学习《运筹学基础》心得
运筹学是一门研究如何有效地组织和管理人机系统的科学.运筹学是经济管理类专业的核心基础课之一,"优化"思想,学习运筹学可以提高一个人的组织.协调和控制能力. 运筹学应用活动的六个步骤 ...
- 飞桨图像分类零基础训练营学习笔记和心得体会
飞桨图像分类零基础训练营学习笔记和心得体会 参加了百度一线AI工程师为大家讲解图像分类模型部署.课程内容包含Paddle2.0转静合一轻松导出模型.Paddle Lite环境准备.Paddle Lit ...
- 教师要合理使用计算机,教师学习计算机应用基础总结
现今社会是高度信息化的社会,为适应市场经济的发展和教育改革顺利进行,培养实用人才已成为教育者所瞩目的问题,作为教师应该与时俱进学习计算机知识.下面看看学习啦小编整理的教师学习计算机应用基础总结吧. 教 ...
- 大学计算机基础水平,大学计算机基础心得.docx
大学计算机基础心得 <大学计算机基础>与<大学计算机基础实践教程>假期学 习心得 在科学技术日新月异的发展的今天,人类进入了信息时代,随之而来的是越来越普遍的信息处理工作,计算 ...
- 学习计算机在化学中的应用的心得,学习计算机多媒体技术心得体会
随着科学技术的发展,特别是计算机技术的推广和普及,多媒体技术在课堂教学中得到了广泛的应用,体会. 一.中学教师特别是青年教师要善于学习.乐于学习计算机多媒体技术 计算机多媒体技术作为教学的一项辅助手段 ...
- 51单片机c语言学习感想,学习51单片机心得体会
在这里给大家分享一下学习51单片机心得体会: 1.我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础. 2.对51单片机的操作本质上就是对寄存器的操作,对其他单片机也是如此.库只是一个 ...
- matlab实验学习心得,matlab实验心得体会-学习matlab的心得体会
matlab实验心得体会-学习matlab的心得体会 导语:通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法. ...
- 「学科总结」 《运筹学基础》
前言: 运筹学在小白看来就是处理规划问题--优化.是参加数学建模竞赛的必备基础,达到人生巅峰的必学课程.但是从考试的角度讲,它真的好难啊!!!Very difficult ! 下面小白将梳理一下非线性 ...
最新文章
- 用strings命令查看kafka-log内容 过滤二进制编码
- IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述
- 程序员爱护自己身体的几点建议
- STM32F1笔记(七)WWDG窗口看门狗
- mysql动态top_MySQL 之 MyTop实时监控MySQL
- 453. Minimum Moves to Equal Array Elements 一次改2个数,变成统一的
- java jre 1.8_安装java1.8和配置环境变量
- CentOS 命令登录MySQL时,报错ERROR 1045 (28000) Access denied for user root
- 范德蒙(Vander Monde)行列式的计算与应用
- 微信自动发卡机器人说明
- powershell下使用linux命令,Windows 10系统下PowerShell命令使用技巧
- 3个千兆WAN口和24个千兆交换LAN口,电信级高稳定性安全路由
- ubuntu 20.04 耳机没有声音
- c语言 前置声明,C语言编程开发前置声明都有哪些作用
- idea完美激活 转载
- PHPEXCEL 识别公式问题的问题 和解决方案
- 假如生活欺骗了你……
- win10安装redis及redis客户端使用方法
- 【JZOJ2867】Contra
- 【大学物理·恒定电流的磁场】带电粒子在电场和磁场中的运动
热门文章
- 4K 蓝光影片规范出炉,定名 Ultra HD Blu-ray
- Bugku杂项——猫片(安恒)
- 阿斯汤加瑜伽(Ashtanga Yoga)第一序列学习与实践笔记(五)
- 上网行为管理软件是什么?由哪些功能组成?
- 正则表达式只能输入正负整数,正负小数并且需要保留两位小数,并且不能输入0、0.0、0.00
- Facebook安全扫描工具集成卡巴斯基反病毒引擎
- 软件测试工程师的坎坷独行之路
- 导航电子地图一览表-转
- 【调剂】华北计算技术研究所2023年硕士研究生调剂信息
- C#winform实现学生人员信息管理系统,可视化查看人员信息,一键修改、删除等,唯美登陆界面