数据结构基本概念MOOC
来源:互联网 发布:网络兼职怎么做 编辑:程序博客网 时间:2024/06/06 12:50
数据结构的基本概念
一、导入
如何在书架上摆放图书?
1、随便放
新书插入简单,查找类似
2、按照书名字母排放
二分查找,新书怎么插入
例2 打印1到N
Void PrintN(int N){ for(int i = 1 ;i <= N; i++) { printf("%d\n", i ); }}
void PrintN(int N ){ if(N){ PrintN(N-1); PrintN("%d\n",N); }}
第一个是循环实现,第二个是递归实现。递归都不用变量,特点是很简洁,但是递归对空间的占用是很恐怖的。当递归到达100000 十万时,就会如下错误。
罢工了,why? 它把能用的空间都用了,还不够就爆了,告诉我们,解决问题的方法的效率,跟* 算法的空间的利用效率*是有关的。
例3:已知x计算多项式的值
方法1:直接计算~~
double f (int n , double a[] ,double x){ int i ; double p=a[0]; for(i = 1; i<=n;i++) p +=(a[i]* pow(x,i)); return p;}
传进来多项式的指数n,它的系数的数组a[],计算的x,pow()函数需要#include
double f(int n, double a[],double x){ int i; double p = a[n]; for(i = n;i>0;i--) { p = a[n-1] + x*p; } return p;}
c语言中,clock():捕捉从程序开始运行到clock()被调用时所消费的时间。这个时间单位是clock tick ,即“时钟打点”。
常数CLK_TCK : 机器始终美妙所走的时钟打点数:前提要引入time的包
但是运行之后的结果~~全是00..
就是因为跑的太快了,,日你妈~,玩我~时间太少都不到一个tick,所以怎么办呢?? 重复
第一个方法比第二个方法慢了一个数量级
所以,解决问题方法的效率,跟算法的巧妙程度是有关系的。
抽象 数据类型(Abstract Data Type)
数据类型 :面向对象里面的类,把下面两个就封装了
- 数据对象集
- 数据集合相关联的操作集
抽象:描述数据类型的方法不依赖具体的实现
- 与存放数据的类型无关
- 与数据存储的物理结构无关
例:“矩阵”的抽象数据类型的定义
这就是一个抽象的表示,ElementType数据类型不固定int double
怎么实现这个矩阵呢?二维数组,一维数组,十字链表,没有固定,这就是抽象。
0 0
- 数据结构基本概念MOOC
- MOOC 数据结构 Pop Sequence
- 数据结构mooc学习
- MOOC数据结构第一章总结
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构--基本概念
- 数据结构基本概念
- 数据结构基本概念
- 【数据结构】基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 数据结构基本概念
- 黑马程序员_字节流、缓冲流
- shell 常见的系统环境变量解析
- android 电容屏(四):驱动调试之驱动程序分析篇 -- FocalTech
- Java- 对象构造与初始化
- 黑马程序员_IO-其他流&编码表、Properties
- 数据结构基本概念MOOC
- 多线程 - 10.NSOperation的使用示例
- android NDK开发库相关的知识
- 黑马程序员_多线程
- 剑指offer面试题14-调整数组顺序使奇数位于偶数前面
- 首次博客-计算两个整数的和
- 有向图中两个结点之间是否存在一条路径
- matlab 写txt文件
- 黑马程序员_常见API大总结