20162314 2017-2018-1 《Program Design & Data Structures》Learning Summary Of The First Week

Summary of teaching materials

  • Algorithm analysis is the basic project of the computer science.

  • Increasing function prove that the utilization of the time and space are related with the scale of the problem.

  • The order of algorithm is determined by the main term of increasing function.

  • The order of algorithm provides an upper bound to a increasing function.

  • Faster CPU can not supply the ineffective of an algorithm as the scale of the problem growing.

  • Analysing the complexity of an algorithm often needs analysing the execution of the loop.

  • The execution of the inner loop and the outer loop must be considered when analysing a nested loop.

  • Tower of Hanoi contains the complexity of the order of index number,even though it is ineffective,the implement is elegant and concise.

Problem and solution in learning materials of teaching.

According to the chart, if the time complexity of A4 is n^4, the scale after improvement should be 1.78s4. But the answer is s4+3.3, due to the log2(10)≈3.3
so I suppose the answer could be s4+log2(10), and if so, the time complexity is 2^n. The question is solved.

Problem and solution in debugging code.

problem: In TowersOfHanoi conductor, whether the time will increase or not when the number of disk rise.

  • Number of disk:4.

  • Number of disk:5.

The answer is yes, time rises from 1s 124ms to 1s 160ms.

problem: what is the distingguish between direct recursion and indirect recursion and How to use it .

If the current location is not the bottom-right corner, we search for a solution in each of the primary directions, if necessary.
First, we look down by recursively calling the traverse method and passing in the new location.
The logic of the traverse method starts all over again using this new position. It’s as if each call
to traverse is attempting to solve a new, slightly smaller, maze.
---from the teaching materials.

Code hosting

Summary of error for last week.

Evaluate for my partner

  • Advantage and problem in the blog:

    • Concise and comprehensie
    • Uncleary to the content
    • Mould is amazing
  • Advantage and problem in the code:
    • Serious writing.
    • Wonderful idea
    • Too less

Learning situation of partner

  • 20162310

  • Learning content of partner:
    • Algorithm
    • Recursion
    • HanoiTowers and maze

Anything else that want to say

Recently, I'm preparing for the CATTI and I thought I've never written blog in English before.Therefore, I suppose I could do it once a week as the homework weekly.
I have to say it's a hard work to start with.But it might be benefit for me if I can take this as a long run.

Academic progress check

Code line number(increasing/accumulative) Blog number(inc/acc) studying time(inc/acc) progress
target 5000lines 30articles 400hours
First week 180/180 1/1 20/20
Second week 300/500 2/4 18/38
Third week 500/1000 3/7 22/60
Fourth week 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

20162314 《Program Design & Data Structures》Learning Summary Of The First Week的更多相关文章

  1. 20162314 《Program Design & Data Structures》Learning Summary Of The Ninth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Ninth Week ...

  2. 20162314 《Program Design & Data Structures》Learning Summary Of The Seventh Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Seventh Wee ...

  3. 20162314 《Program Design & Data Structures》Learning Summary Of The Fifth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Fifth Week ...

  4. 20162314 《Program Design & Data Structures》Learning Summary Of The Second Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Second Week ...

  5. 20162314 《Program Design & Data Structures》Learning Summary Of The Eleventh Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Eleventh We ...

  6. 20162314 《Program Design & Data Structures》Learning Summary Of The Tenth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Tenth Week ...

  7. 20162314 《Program Design & Data Structures》Learning Summary Of The Eighth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Eighth Week ...

  8. 20182320《Program Design and Data Structures》Learning Summary Week9

    20182320<Program Design and Data Structures>Learning Summary Week9 1.Summary of Textbook's Con ...

  9. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...

随机推荐

  1. window.open 防止浏览器拦截

    https://blog.csdn.net/sinat_37255207/article/details/89374416 网上试了很多方法 最终只有一种可以 var newWin = window. ...

  2. C++程序设计入门 之常量学习

    常量: 常量的定义格式:const datatype CONSTANTNAME = VALUE 常量的命名规范:符号常量(包括枚举值)必须全部大写并用下划线分隔单词 例如:MAX_ITERATIONS ...

  3. PHP访问数缓存处理

    利用Redis或Memcache作为MySQL的缓存,采用是ThinkPHP框架. 方法一 采用ThinkPHP的S方法: $savedata['uid']=session('uid'); $save ...

  4. zabbix和elasticsearch数据表

    # uint mapping { "settings" : { "index" : { "number_of_replicas" : 1, ...

  5. Scala_Trait特征

    1,scala提供的“特征”可以同时拥有抽象方法和具体方法,一个类可以拥有多个特质 2,类可以通过“extends”关键字继承trait,继承trait后必须实现trait中的所有抽象方法,而不是用 ...

  6. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

  7. 2-5 re模块练习题

    1 练习: 1.验证手机号是否合法 2.验证邮箱是否合法 3.开发一个简单的python计算器,实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2 ...

  8. html元素可以同时实现两个class的功能

    html元素标签可以放置两个不同的class文件并分别实现效果

  9. 使用VS Code新建编译Flutter项目

    本文的前提是你已经安装好了VS Code,并且安装了Flutter和Dart扩展插件. 1. 新建Flutter项目 查看——命令面板,或者Ctrl + Shift + P 输入 Flutter: N ...

  10. Linux shell(3)

    shell的运算操作: let整数运算 expr整数运算 bc浮点运算 字符串运算 let命令: let命令让BASH shell 执行算数值的操作,使用let,可以比较两个值或执行加减乘除等这样的算 ...