1.如何有效学习算法与数据结构?

算法与数据结构并不是要你记忆背诵,而是理解与训练。如果我们想要精通一个领域,我们按照以下三个步骤:

Chunk it up(切碎知识点):把一个大的知识体系切碎成相应的知识点,这一点大部分的书籍都已经帮我们做好了。

Deliberate practicing(刻意练习):这一点是我们需要去下功夫的地方,需要把每一块的知识点拿出来刻意反复练习,比如说游戏中反复练习某一个微操作。

Feedback(反馈):如github和leetcode上面去看别人写的代码,然后与自己的对比,发现优缺点。还有一种是高手给你指点,这一点可遇不可求。

2.如何计算算法的复杂度?

时间复杂度

空间复杂度

符号的表示如下所示:

一、下面代码的意思是n=1000,输出n本身。这里只需要做一次运算,我们把它叫做O(1)。

二、下面这段代码也是O(1)的时间复杂度。

三、下面这段代码循环n次输出,并且只会循环n次。我们把这种复杂度叫做O(n)。

四、下面这个程序写了两个嵌套的循环。外层是i从1到n;内层是j从1到n。随着n的增大,它的工作量是n平方地增长。

五、下面这个程序,i从1到n,但是i的增加是每次乘2,在意的是计算这个循环能计算多少次。所以时间复杂度是O(log(n))

六、下面这个程序,i从1到2的n次方,算法的复杂度就是O(K^n)。

七、下面这个程序,i从1到n的阶乘进行循环,算法复杂度就是O(n!)

总括来说就是对于任何的输入n,你的程序要跑多少次,就是他的时间复杂度

维基百科对算法的分析:

https://en.wikipedia.org/wiki/Master_theorem_(analysis_of_algorithms)

算法与数据结构是三分学习七分练。需要常见的代码但是自己不太会的。

刷leetcode题我们需要考虑时间复杂度。

算法与数据结构(一)-导学相关推荐

  1. 【数据结构算法】数据结构思维导图

  2. 算法与数据结构思维导图-

    部分

  3. 上标3下标6算法_插入排序算法导学案

    本文为"选考VB算法专题系列讲座9插入排序算法"视频配套的导学案,请同学们先完成导学案再收看视频.明天将推送"选考VB算法专题系列讲座9插入排序算法"视频,敬请 ...

  4. 怎么算程序框图的计算机程序,算法与程序框图导学案

    <算法与程序框图导学案>由会员分享,可在线阅读,更多相关<算法与程序框图导学案(9页珍藏版)>请在人人文库网上搜索. 1.算法与程序框图导学案1.1算法与程序框图一. 新知归纳 ...

  5. 王争-算法与数据结构专栏第一期福利笔记(数据结构与算法学习书单)

    算法与数据结构书籍由浅入深: 闲暇拓展知识面: <算法帝国>:文科生也可以看懂 <数学之美> <算法之美> 入门书:(有感性认识) <算法图解>200页 ...

  6. python数据结构推荐书-「算法与数据结构」从入门到进阶吐血整理推荐书单

    推荐一下「算法与数据结构」从入门到进阶的书单. 一.入门系列 这些书籍通过图片.打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现, ...

  7. python自动翻译导学案_变量python学案

    ●掌握常用的关系和逻辑运算符 ●掌握 Python 中的变量及其赋值 ●数字化学习与...●学生任务二: 阅读学案,计算一下表达式的值,把结果填在学习网站上. 练习算术...... 初中八年级信息技术 ...

  8. 「算法与数据结构」从入门到进阶吐血整理推荐书单

    一.入门系列 这些书籍通过图片.打比方等通俗易懂的方法来讲述,让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等,不要求会实现,但是看过以下这些书对于之后实现算法打下坚实的思维 ...

  9. C++ STL轻松导学

    名称 C++ STL轻松导学 作者 晨光(Morning) 简介 本教程介绍有关学习C++ STL的预备知识和STL的相关背景知识,适合想对STL做大致了解的初学者. 声明 本教程版权为晨光(Morn ...

  10. GitHub标星3w+的项目,全面了解算法和数据结构知识

    作者 | 程序员小吴 来源 | 五分钟学算法(ID: CXYxiaowu) 导语:今天分享一个开源项目,里面汇总了程序员技术面试时需要了解的算法和数据结构知识,并且还提供了相应的代码,目前 GitHu ...

最新文章

  1. springmvc 配置 fastjson解析器
  2. 如何让context attribute不出现在configuration界面的available fields列表内
  3. 源码 移植_FreeModbus移植总结
  4. JavaScript数组(2)---遍历/迭代方法 8种
  5. LeetCode 1730. 获取食物的最短路径(BFS)
  6. 【翻译】WF从入门到精通(一)
  7. 一个基于typescript、mobx、react16、react-router4、antd的后台模板
  8. 【论文分享】PathQG: 基于事实的神经问题生成
  9. Java编程思想 经典评注分享
  10. java 引用机制_Java编程开发之浅析Java引用机制
  11. 三款免费好用的Gif制作神器
  12. mac安装win7之后鼠标失灵_mac安装win7鼠标失灵怎么办
  13. 1.Android学习之Android项目结构
  14. 数学建模层次分析法例题及答案_【数模】层次分析法 - 全国大学生数学建模竞赛(CUMCM) - 数学建模社区-数学中国...
  15. ffmpeg合并mp4脚本
  16. 《Java并发编程的艺术》——锁(笔记)
  17. CSS - 使表格td中的文字垂直居中
  18. Lucene 7.5.0 索引文件之liv
  19. 手把手带你搭建个人博客系统(一)
  20. 智慧社区管理平台该如何选择?

热门文章

  1. shell编程规范与变量2
  2. Linux iptables防火墙详解(四)——配置实战
  3. Arts 第十二周(6/3 ~ 6/9)
  4. mysql查询优化~group by知多少
  5. R学习笔记-安装R和RStudio,注意RStudio的版本需要与操作系统版本匹配
  6. Python标准库:内置函数ascii(object)
  7. HDOJ2005 ( 第几天? ) 【水题】
  8. linux ldap配置详解
  9. IT人的学习方法论-5 也谈IT的创新
  10. HTML做成信纸格式,css3实现信纸/同学录效果的示例代码