算法导论NO.1:算法基础
目录
算法导论NO.1:算法基础
前言
一、算法是什么?
二、算法的特征
1.有穷性
2.确切性
3.输入
4.输出
5.可行性
三、算法的评价
总结
前言
新坑今天来填第一天,最近返校后培训数学建模,感觉和算法是相关的,所以这俩同步进行,这个系列完全为了督促自己学习,同时方便自己以后能够考研、面试、学习复习使用,如果对大家有帮助,感到非常的荣幸!
一、算法是什么?
算法,听上去是个高大上的东西,自己从大一下接触数据结构碰壁后,自己是下定决心不想碰算法,后来经过不断的学习理解,真正认识到了什么是 程序=数据结构+算法。
其实自己这两年来一直在回避算法这个问题,永远的逃避,可后来发现,如果想要提高,算法是个越不过的坎,算法对于代码书写规范也有很好的帮助,所以还是打算静下心来去啃一啃算法,只求能对自己的大学生活有一定的帮助。
二、算法的特征
1.有穷性
对于每个算法,他必须是有穷的,在执行若干步之后会结束,也就是他会有个可触发出口,这样保证不会无限的循环。
2.确切性
算法的每一个步骤都必须有确切的定义,这句话的意思就是字面意思。
3.输入
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件,就好比如函数构造时候有参和无参函数。
4.输出
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的,算法得有出口,这个出口必须有一定的意义,不一定是输出一个数值,也可以把数据进行处理,例如排序算法。
5.可行性
算法他必须可行的,就是人拿手算,可以推出结果,不然算法毫无意义。
三、算法的评价
一个好的算法的评价通常通过两个指标,就是时间和空间复杂度,顾名思义,就是考虑算法时间资源和空间资源的使用情况,通常都用渐进符号表示,渐进符号就是我们今天的算法基础,这些常识的数学知识学会后,才能更好地进行算法的分析。对于一个好的算法而已,时间和空间复杂度越低,算法性能越好,也就是所需时间短,用的空间资源(可以理解为内存)少,他就越优秀。
这个是我自己的笔记,比较简单的写出了算法一些基础知识,字有点丑,如果想详细了解还是建议自己去找- -
总结
本次学习了解了算法,并学习记录一些算法知识,加油加油加油1111111
算法导论NO.1:算法基础相关推荐
- 我眼中的算法导论 | 第一章——算法在计算中的作用、第二章——算法基础
一个小白的算法学习之路.读<算法导论>第一天.本文仅作为学习的心得记录. 算法(Algorithm) 对于一个程序员来说,无论资历深浅,对算法一词的含义一定会或多或少有自己的体会,在< ...
- 算法导论/第一部分_基础知识
算法导论: 基础知识 Chapter 1 算法在计算中的作用 1.1 算法 1.2 作为技术的算法 Chapter 2 算法基础 2.1 插入排序 练习: 2.2 分析算法 插入算法的分析 增长量级 ...
- 书山有路之学习算法导论(一)--基础知识
这个寒假打算学习算法导论这本书,每学完一部分我都会尽量更新,希望在寒假结束时有一些收获! 书山有路勤为径,加油! 一.基础知识 1.算法在计算中的作用 算法其实就是任何良定义的计算过程,算法把给定的输 ...
- 算法导论之贪心算法(Huffman编码和拟阵)
贪心算法,在解决最优化问题上,通过得到子问题的局部最优解来合成问题的一个解,以局部最优选择来输出一个全局最优解. 问题要用贪心算法来求解,需满足和动态规划一样的最优子结构特征,同时还需要再每个子问题最 ...
- 《算法导论》CLRS算法C++实现(六)P100 基数排序
第八章 线性时间排序 8.3 基数排序 算法导论上对基数排序的算法描述只有两行... 微言大义的说... RADIX-SORT(A, d) 1 for i ← 1 to d 2 do use a st ...
- 算法导论 — 比较排序算法对比实验
<算法导论>这本书介绍了5种比较排序算法:插入排序.冒泡排序.归并排序.堆排序.快速排序.我们现在通过实验来对比这5种排序算法的运行时间.用随机数发生器生成不同长度的数组,将每种算法应用于 ...
- 算法导论 c语言,算法导论 之 堆排序[C语言]
一.算法实现 堆排序算法的时间复杂度为O(nlgn),其算法实现如下: void heap_sort(int *array, int max) { int idx = 0; build_max_hea ...
- 算法导论系列:分治算法
说起分治法,大家一定也都听过秦始皇采用郡县制将国家分为三十六郡的故事,我们常说"山高皇帝远",意思就是山高路远,皇帝都管不了,实际上无论皇帝多远,山有多高,整个国家都属于朝廷统治, ...
- 【算法导论】贪心算法,递归算法,动态规划算法总结
一般实际生活中我们遇到的算法分为四类: 一>判定性问题 二>最优化问题 三>构造性问题 四>计算性问题 而今天所要总结的算法就是着重解决 最优化问题 <算法之道>对 ...
- 【算法导论】幻方算法
说起幻方,大家应该在小学时候就已经接触过了,最简单的就是九宫格,射雕英雄传中的那段至今还记得:戴九履一,左三右七,二四为肩,六八为足.下面我们就来看看这个有趣的问题. 幻方可以分为:奇数阶幻方.双偶阶 ...
最新文章
- 【c语言】蓝桥杯基础练习 特殊的数字
- python中变量类型在程序中可以改变_python的可变与不可变数据类型
- 电脑分屏软件_一招定鲜 | 电脑实现分屏解决了办公和娱乐
- Flink从入门到精通100篇(四)-基于 Flink 和 Drools 的实时日志处理
- 深入理解javascript之this
- springboot项目不输出nohup.out日志
- 「博客之星」评选,互投5星,留链必投
- 关于在大网段中拆出小网段地址
- 故障诊断 | 存储Cache丢失导致数据库无法open的案例分享
- 探究Lucene计算权重的过程
- 解决Git 重复输入用户名和密码的问题
- SPS :SPS 2003 安装过程中的语言版本问题。
- 浙大首届人工智能本科生9月入学,纳入竺院图灵班
- 微软签署最大规模风电购买协议 打造“无碳”数据中心
- Probably at least one of the constraints in the following list is one you don't want.
- 详解Unity中的摄像机及实例应用
- 关于Redis在windows上运行及fork函数问题
- java zip 中文文件名乱码_java使用zip压缩中文文件名乱码的解决办法
- java 标准偏差函数std_如何使用JAVA计算标准差
- 都说web前端开发薪资高,入行就有上万月薪,转行难吗?