数据结构-算法

线性结构 :线性表、堆栈、队列、串、文件等 


非线性结构:树、二叉树、图、集合等


顺序存储结构  数据元素之间的逻辑关系通过地址直接反应

链式存储结构  数据元素之间的逻辑关系通过指针间接反应

索引存储结构

散列存储结构


逻辑结构

存储结构 


查找、插入、删除等操作的时间效率较高,但存储空间开销较大 


数据结构主要内容:逻辑结构+存储结构+算法


算法定义:

1.算法是用来解决某个特定课题的指令的集合

2.算法是人们组织起来准备加以实施的一系列有限的基本步骤

3.算法是一组解决问题的清晰指令,它能够对符合一定规范的输入,在有限的时间内获得所需要的输出 


算法的基本性质:

输入 

输出

有穷性

确定性

有效性 


练习:求两个正整数的最大公因子 


算法分析:是指对算法质量优劣的评价   目的 改进算法质量  前提 算法必须正确 

时空效率高的算法才是一个好的算法,它常常是不懈努力和反复修正的结果


通常从三个方面分析一个算法:

1.依据算法编写的程序在计算机中运行时间多少的度量,称之为时间复杂度(反应算法运行的快慢)

2.依据算法编写的程序在计算机中占存储空间多少的度量,称之为空间复杂度 (反应算法需要的额外空间的多少)

3.其他方面。如算法的可读性、可移植性以及测试性的好坏


时间复杂度

一个程序在计算机中运行时间的多少与诸多因素有关,其中主要有:

1.问题的规模(几乎所有的算法的时间效率都与问题的规模有关)

2.编译程序功能的强弱以及所产生的机器代码质量的优劣

3.机器执行一条指令的时间长短

4.程序中那些关键语句的执行次数(对算法运行时间贡献最大的语句)


练习:求两个n阶矩阵的乘积

C[i][j] = C[i][j] + A[i][k]*B[k][j]


对于算法分析具有重要意义的常见函数值

log2n  n  nlog2n  n^2 n^3 2^n n!


Pasted Graphic.tiff

Pasted Graphic 1.tiff


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值