spContent=学了一门编程语言不知道能干啥?来学数据结构就对啦!

学会编程相当于会砌猪圈的泥瓦匠,学完数据结构就会盖个双层小楼啦~ 同时还可以一窥构筑摩天大厦的奇门武功!

欢迎勤奋的小白活泼乱入!十周修炼,得入门径,一代大侠,从此出发 —— 快来吧~ ^_^

—— 课程团队

课程概述

“数据结构”是计算机科学与技术专业、软件工程专业甚至于其它电气信息类专业的重要专业基础课程。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其它课程,还是对从事大型信息工程的开发,都是重要而必备的基础。

程序设计解决问题往往有多种方法,且不同方法之间的效率可能相差甚远。程序的时间和空间效率,不仅跟数据的组织方式有关,也跟处理流程的巧妙程度有关。本课程将介绍并探讨有关数据组织、算法设计、时间和空间效率的概念和通用分析方法,帮助学员学会数据的组织方法和一些典型算法的实现,能够针对问题的应用背景分析,选择合适的数据结构,从而培养高级程序设计技能。

授课目标

通过本课程的学习,学生将基本掌握数据结构和算法基础知识、算法设计与分析的技术和方法,提高程序设计的质量;能够根据问题的性质,选择合理的数据结构,并对时间复杂性进行必要的控制,培养解决实际问题的能力。为后续相关课程的学习和以后从事相关的研究和开发工作打下扎实的基础。

成绩要求

本课程成绩满分100分。由以下部分构成:

线上学习时长和测试20分

线下考试和作业80分

课程大纲

预备知识

学过一门编程语言,具有一定编程基础,即可理解主要内容,因为数据结构本质上是不依赖于编程语言的。但由于算法描述多用类似C语言的伪码,且“小白系列”仅讲解C语言的算法实现,所以如果学过C语言会更容易接受。

参考资料

1、教材

严蔚敏、吴伟民编著,清华大学出版社,2019年6月

2、推荐教辅和资料:

(1)

(2)陈越、何钦铭、徐镜春、魏宝刚、杨枨 编著,高等教育出版社,2016年6月

(3),陈越、何钦铭、徐镜春、魏宝刚、杨枨 编著,高等育出版社,2019年7月

3、课程练习网站:拼题A(Programming Teaching Assistant):https://pintia.cn/ 本课程的编程练习将在这里布置。

PAT(Programming Ability Test)官网:https://www.patest.cn/ 提供全部考试真题与报名入口。

常见问题

0。我应该怎么设置账号开始学习呀?

答:同时在两个窗口登录拼题A和中国大学MOOC,进入拼题A用户名下的“个人中心”找“我的绑定”,点击“绑定中国大学MOOC”,妈妈再也不用担心你学完了没成绩啦!然后继续在“个人信息”中输入本学期的“邀请码”,就可以“应邀做题”啦~

1。我不是计算机专业的,能学这门课吗?

答:只要会写程序就能学。

2。我数学不好,能学这门课吗?

答:会算术就可以了…… 有个别例子涉及基础数学概念(比如什么是多项式),花一分钟上网搜索一下定义就可以搞定。

3。我不会写程序,能学这门课吗?

答:不能…… 还是先学会写程序再说吧~ 隔壁翁恺老师的C语言讲得很好懂,推荐~

4。学这门课每周要花多少时间?

答:平均4-8小时,开始可能轻松一点,后面的课业会越来越重 —— 这样你才能长进嘛~

常见问题

*为什么我的程序得到了“返回非零”?返回零表示一个程序正常结束,如果没有返回零,则系统认为程序没有正常结束,这时即便输出了正确的内容也不予通过。

C 或 C++ 代码请确认 int main 函数最终会返回 0,不要声明为 double main 或者 void main

有异常的语言,请确认程序处理了可能抛出的异常

*程序的时间和内存占用是如何计算的?

程序的运行时间为程序在所有 CPU 核占用的时间之和,内存占用取程序运行开始到结束占用内存的最大值。

*为什么同样的程序运行时间和所用内存会不同?

程序运行时间会受到许多因素的影响,尤其是在现代多任务操作系统以及在使用动态库的情况下,多次使用同一输入运行同一程序所需时间和内存有一些不同是正常

现象。我们的题目给出的运行限制一般为标准程序的若干倍,也就是说,选用正确的算法和合适的语言,那么运行限制是富余的。

*不同语言的时间限制和内存限制是相同的吗?

是相同的,我们认为选择合适的编程语言也是一项必备技能,所以没有为不同语言设置不同的限制条件。

快速排序 php内存超限,数据结构与算法设计相关推荐

  1. 【数据结构和算法设计】算法篇(7) 贪心法

    文章目录 7.1 贪心法概述 7.1.1 什么是贪心法 7.1.2 用贪心法求解的问题应具有的性质 1. 贪心选择性质 2. 最优子结构性质 7.1.3 贪心法的一般求解过程 7.2 求解活动安排问题 ...

  2. 数据结构与算法设计思路和考察点

    网上摘录,想分专题放到一起.数据结构常见的问题包括字符串方面.链表的各种操作.树的各种操作,以及各种变形和与其它数据结构的结合使用. 面试题目 字符串专题 1.将字符串转换成整数,将整数转换为字符串, ...

  3. 【数据结构和算法设计】算法篇(11) 概率算法和近似算法

    文章目录 12.1 概率算法 12.1.1 什么是概率算法 1. 概率算法的特点 2. 概率算法的分类 3. 随机数生成器 12.1.2 蒙特卡罗类型概率算法 12.1.3 拉斯维加斯类型概率算法 1 ...

  4. python 快速排序 详解_数据结构与算法:快速排序(原理讲解+python实现)

    快速排序 快速排序是一种基于分治法(Divide and Conquer)的排序算法 它之所以称为快速排序是因为它的平均时间复杂度为O(nlogn),最坏情况下是O(n2) 但是这样的情况不常见 一般 ...

  5. 常考数据结构和算法:设计LRU缓存结构

    题目描述 设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能 set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的val ...

  6. 读书笔记-《大话数据结构》-算法设计的要求-正确性-文末有福利

    2.6.1 正确性 正确性:算法的正确性是指算法至少应该具有输入.输出和加工处理无歧义性.能正确反映问题的需求.能够得到问题的正确答案. 但是算法的"正确"通常在用法上有很大的差别 ...

  7. 数据结构和算法设计专题之---判断单链表中是否有环,环的长度,环的入口节点...

    题目: 给定一个单链表,只给出头指针head: 1.如何判断是否存在环? 2.如何知道环的长度? 3.如何找出环的连接点在哪里? 4.带环链表的长度是多少?   解法: 1.对于问题1,使用追赶的方法 ...

  8. 常考数据结构与算法:设计getMin功能的栈

    题目描述 实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作. 示例1 输入 [[1,3],[1,2],[1,1],[3],[2],[3]] 返回值 [1,2] 备注: 有 ...

  9. 全球名校AI课程库(27)| MIT麻省理工 · 数据结构与算法设计课程『Design and Analysis of Algorithms』

最新文章

  1. c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
  2. R语言NaN函数实战(计数、替换、删除)
  3. php 进程函数,php多进程函数
  4. 主板和机箱的螺丝_铝镁合金外壳,双侧透设计,乔思伯TR03-A机箱 装机体验
  5. 大道至简 7、8、读后感
  6. J2EE事务并发控制策略总结
  7. winform基础,主要控件简单介绍,以及小练习
  8. 归并排序 Java实现 简单易懂
  9. lammps教程:EAM势函数设置详解
  10. intouch负值显示0_intouch的若干个经典问题解答
  11. subtype,supertype 与 subclass,superclass 的异同
  12. jdk 7 下载地址(全新)
  13. rar文件ubuntu_如何在Ubuntu上提取RAR文件
  14. android程序联网失败,请检查网络是否可用
  15. 此图形驱动程序无法找到兼容的图形…
  16. 作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的?
  17. vue2和vue3的区别
  18. Docker容器之Docker Swarm集群详解(上)
  19. 关于任务规划和提高执行力
  20. 小米pad MI PAD 开发者选项、USB调试开启方式

热门文章

  1. Codeforces 115C Plumber
  2. 动物派对怎么修改服务器,动物派对登录失败怎么办 Party Animals玩法进入游戏解决方法...
  3. 怎么知道创元网配资平台靠不靠谱?
  4. ModelArts实现智能花卉识别笔记
  5. 写给创业者:如何打造让用户离不开的App
  6. Java 未来行情到底如何,来看看各界人士是怎么说的
  7. 水果店圈子:水果店日常朋友圈文案,水果店发朋友圈文案
  8. ansible自动化运维工具的详细介绍、使用、工作原理、安装方式、与被管理节点建立信任关系等等
  9. Ionic2像使用字体图标一样使用png图标等
  10. 万历十五年 . 读书笔记