• 导赏!广美研究生导师带你看2018研究生毕业作品展 2019-04-20
  • 【沙湾风光】百花盛开 迎六月 2019-04-20
  • 【专题】传统文化点亮精彩生活 2019-04-10
  • 四川九寨沟发生特大泥石流 冲毁民房、省道205线被埋 2019-04-10
  • 探寻秘境阿勒泰《章棋的视频日志》 2019-04-06
  • 讲述波兰女子拯救百名犹太儿童的故事 美国教师获森德勒奖 2019-04-06
  • 一个理想的数列递减,看着就想笑,根本放不出什么屁来 2019-04-05
  • 给脑部做个“大扫除” 让大脑充分放松 2019-04-05
  • 海上洄游时 北海狗 连续两周深睡眠 2019-04-03
  • “石家庄太行大街发生重大事故”是谣言!传谣者被拘留 2019-04-01
  • 4号线为端午节“加班” 2019-04-01
  • 这18家小众颜高又难找的家居店,一次性帮你搜罗全了! 2019-03-24
  • “首届中国非处方药行业品牌宣传月”活动将在北京举办 2019-03-24
  • 《礼记》中的礼乐制度与“生活政治” 2019-03-23
  • 众泰T300 1.5L CVT车型上市 6.98万起 2019-03-23
  • 广东南粤26选5走势图:关于算法,我们都应知道的

    版权声明:来自追求极客技术的极客人(Hackyle)——相信技术成就梦想、实现自身价值! //www.sde9.com/ComputerGeekHack/article/details/88403311

    广东快乐十分20选8计划 www.sde9.com 定义:

    算法是指对特定问题求解步骤的一种描述。

    ?

    ?

    特性:

    (1)有穷性:算法是由若干条指令组成的有穷序列,总是在执行若干次后结束,不可能永不停止。

    (2)确定性:每条语句有确定的含义,无歧义。

    (3)可行性:算法在当前环境条件下可以通过有限次运算实现。

    (4)输入输出:有零个或多个输入,一个或多个输出。

    ?

    ?

    “好”算法的标准如下:

    (1)正确性:正确性是指算法能够满足具体问题的需求,程序运行正常,无语法错误,能够通过典型的软件测试,达到预期的需求。

    (2)易读性:算法遵循标识符命名规则,简洁易懂,注释语句恰当适量,方便自己和他人阅读,便于后期调试和修改。

    (3)健壮性:算法对非法数据及操作有较好的反应和处理。例如,在学生信息管理系统中登记学生年龄时,若将21岁误输入为210岁,系统应该提示出错。

    ?

    (4)高效性:高效性是指算法运行效率高,即算法运行所消耗的时间短。算法时间复杂度就是算法运行需要的时间。现代计算机一秒钟能计算数亿次,因此不能用秒来具体计算算法消耗的时间,由于相同配置的计算机进行一次基本运算的时间是一定的,我们可以用算法基本运算的执行次数来衡量算法的效率。因此,将算法基本运算的执行次数作为时间复杂度的衡量标准。

    (5)低存储性:低存储性是指算法所需要的存储空间低。对于像手机、平板电脑这样的嵌入式设备,算法如果占用空间过大,则无法运行。算法占用的空间大小称为空间复杂度。

    ?

    ?

    算法的两大分类:

    一个是数据结构(数据对象)数、矩阵、集合、串、排列、图、表达式、分布等。

    另一个是算法策略贪心、分治、动态规划、线性规划、搜索等。

    ?

    这两条线索是相互独立的:同一个数据对象(比如图)上有不同的问题(如单源最短路径和多源最短路径),就可以用到不同的算法策略(例如贪婪和动态规划);而完全不同的数据对象上的问题(如排序和整数乘法),也许就会用到相同的算法策略(如分治)。

    ?

    ?

    如何学习算法(个人想法):

    (1)HACK精神:对这个事物拥有这极高的热情,对这个事物有一种快速掌握的渴望,对这个事物不断问为什么,亲自去做并在这个过程中明白当初问为什么的到底是个啥以及明白这个问题的答案是什么。

    (2)数学与逻辑:在我的学习编程或是在学习算法的过程中,无数次的实践告所我——算法的灵魂是数学以及思维逻辑。例如,在编程1+2+3+ …… +n时,采用 "for(int i=1;i<=n;i++) { sum+=i; }" 和直接用等差数列求和公式是完全不一样的。所以掌握一定的数学和逻辑方法是必要的。

    (3)适合自己的学习材料:对于我来说,学习一样新的事物,学习的资料是十分重要的,或者直接说,学习的材料直接决定我第一次学习时的效率和深度;那么对于你来说,也是一样,找到真正适合自己的学习材料是你在学习前应该着重做的事情;那么,应该怎么找寻材料呢?例如,图书馆的图书,博客,个人网站等;需要注意的是,如果选择博客或个人网站作为学习材料,那个博客或个人网站应该有成体系的知识结构和层次。

    (4)去做:当你看懂了材料所描述以后,立即需要做的就是去实现它——自动编程实现它,这是为了避免“产生了学会了的错觉,实际上是看懂了的感觉”。其次,也是最重要的,就是做好笔记,便于复习。在做笔记时,我的原则是“① 不做冗余的笔记——只有自己真正实践或理解才做;笔记的真正目的是为了以后的快速复习! ② 在自己所做的笔记中,无论知识怎么难,只要是理解了所做的笔记,如果在下一次去看,不能快速看懂的,就是垃圾一样的笔记!”

    (5)适时复习:这一点没什么可说的,你可以参考“艾宾浩斯遗忘曲线”来自定义复习时间。

    ?

    ?

    [ 注: 部分内容出自《趣味算法》作者:陈小玉 (人民邮电出版社) ]

    没有更多推荐了,广东快乐十分20选8计划

  • 导赏!广美研究生导师带你看2018研究生毕业作品展 2019-04-20
  • 【沙湾风光】百花盛开 迎六月 2019-04-20
  • 【专题】传统文化点亮精彩生活 2019-04-10
  • 四川九寨沟发生特大泥石流 冲毁民房、省道205线被埋 2019-04-10
  • 探寻秘境阿勒泰《章棋的视频日志》 2019-04-06
  • 讲述波兰女子拯救百名犹太儿童的故事 美国教师获森德勒奖 2019-04-06
  • 一个理想的数列递减,看着就想笑,根本放不出什么屁来 2019-04-05
  • 给脑部做个“大扫除” 让大脑充分放松 2019-04-05
  • 海上洄游时 北海狗 连续两周深睡眠 2019-04-03
  • “石家庄太行大街发生重大事故”是谣言!传谣者被拘留 2019-04-01
  • 4号线为端午节“加班” 2019-04-01
  • 这18家小众颜高又难找的家居店,一次性帮你搜罗全了! 2019-03-24
  • “首届中国非处方药行业品牌宣传月”活动将在北京举办 2019-03-24
  • 《礼记》中的礼乐制度与“生活政治” 2019-03-23
  • 众泰T300 1.5L CVT车型上市 6.98万起 2019-03-23
  • 北京赛车pk10怎么滚雪球 北京赛车pk10下载 体育彩票超级大乐透开奖结果 江西多乐彩任五遗漏表 天津快乐十分开奖结果 双色球吧贴 中国体彩网6+1 幸运赛车开奖走势 重庆时时彩彩计划软件手机版 六合彩白小姐 幸运赛车和尾走势图 新时时彩三星组三 排列5和值尾走势图带连线专业版 3d开机号今天是彩宝网 大乐透玩法 重庆时时彩是正规的吗