公开课学习笔记-[哈佛]计算机科学CS50(四)
来源:互联网 发布:淘宝店铺可以卖多少钱 编辑:程序博客网 时间:2024/05/17 16:53
第9课 归并排序 -2011.10.27
Bubble sort的效率还是低,衡量效率包括占用空间,CPU cycles。在排序的情况,用最坏的情况衡量,例如反序。Merge Sort效率明显高。
详细介绍Merge Sort(归并排序),使用recursion(递归)方式很容易实现,算法如下:
sore(){
if( n < 2)
return
else
sore() 左1半
sore() 右1半
merge() 将左右两半有序的排序合并
}
if( n < 2)
return
else
sore() 左1半
sore() 右1半
merge() 将左右两半有序的排序合并
}
使用时间为:T(n) = T(n/2)+T(n/2) + n; if n >1;T(n) = 0 ,if (n = 1),总效率为O(NLogN)。
第10课 指针 -2011.10.28
Design,有好的用户体验很重要,而不仅是正确工作。
介绍指针。例如int ×a = & b; int temp = * a;(指针a所指的内容,也就是b)。
对于内存,从上(低地址)到下(高地址),首先静态分配,gobal和static数据,在程序一开始就进行静态分配;之下是在运行中动态分配空间,称为heap,就是C中通过malloc或者Java中通过new中分配的控制。最后是stack,stack是从下向上分配的,运行中自动分配,用于函数或方法的存储空间,当调用某个函数时,在stack为其分配某个空间,存放相关的local参数。由于heap是从上至下,stack从下至上,如果没有空间,就会发生溢出,在C中出现Core段错误。总体来讲:C语言使用栈(Stack)来保存函数返回地址/栈祯基址、完成函数的参数传递和函数局部变量的存储。 如果程序需要在运行的过程中动态分配内存,可以利用堆(Heap)来实现。
相关链接:我的与编程思想相关的文章
- 公开课学习笔记-[哈佛]计算机科学CS50(四)
- 公开课学习笔记-[哈佛]计算机科学CS50(一)
- 公开课学习笔记-[哈佛]计算机科学CS50(二)
- 公开课学习笔记-[哈佛]计算机科学CS50(三)
- 公开课学习笔记-[哈佛]计算机科学CS50(五)
- 公开课学习笔记-[哈佛]计算机科学CS50(六)
- 公开课学习笔记-[哈佛]计算机科学CS50(七)
- 公开课学习笔记-[哈佛]计算机科学CS50(八)
- 公开课学习笔记-[哈佛]计算机科学CS50(九)
- 网易公开课哈佛大学CS50学习笔记(2)
- 网易公开课哈佛大学CS50学习笔记
- 哈佛公开课cs50习题集fifteen相关
- 哈佛公开课cs50习题集fifteen相关
- 哈佛cs50公开课,list1链表相关程序
- 哈佛公开课《Positive Psychology 1504》学习笔记 -- Basic Premises
- 哈佛公开课《Positive Psychology 1504》学习笔记 -- Beliefs
- 哈佛公开课《Positive Psychology 1504》学习笔记 -- FOCUS
- 哈佛公开课《Positive Pyschology 1504》学习笔记 -- Change
- android 键盘快捷指令
- 在ASP.NET中处理大文件上传
- java网络编程五:暴力法破解登录系统的完全实现(木子)
- Android:Animation Style的定义与引用系统AnimStyle
- HttpURLConnection 完成Http送信服务,得到response响应
- 公开课学习笔记-[哈佛]计算机科学CS50(四)
- php 下载路径
- 新型单线太阳能电池
- Linux下core文件调试方法
- 查询结果按照 'in' 里面的数据排序:order by decode
- Linux下用CDMA modem拨号上网---脚本解析
- byte[] 转 String 笔录
- Python里面的with关键字
- 图像放缩之双线性内插值