重温数据结构——(1)
最近和一些同事聊天时,发现自己对基础知识越来越模糊了。索性就重新找出已经长满灰尘的教科书,这些书在我大学毕业时没舍得卖掉,一直留着的,希望到时能建立一个大大的书橱,只是现在每天上班,几乎没时间搭理这些;况且住的地方又是按期租的不到30平米的地儿,哪有空间让我放个大书架啊!于是也就把这事给搁置了。言归正传:
1.什么是数据结构
就是按照某种逻辑关系组织起来的一组数据元素,按一定的存储方式存储于计算机中,并在其上定义了一个运算的集合。
2.什么是逻辑结构
它是数据元素与数据元素之间的逻辑关系。
它有以下4类:集合、线性结构、树形结构、图形结构;
3.什么是存储结构
是数据在计算机中的存储表示,也称物理结构。包括以下4种基本存储结构:
优点 缺点
顺序存储结构 节省存储空间,能随机访问 不便于运算操作
链式存储结构 便于运算操作 存储空间利用率低,不能随机访问
索引存储结构 不错的随机访问,不错的运算效率 为索引表增加了时间和空间开销
散列存储结构 查找速度快 需要好的散列函数和处理“冲突”办法
4.什么是算法
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其每条指令表示一个或多个操作。它有以下5个特征:
a.有穷性、b.确定性、c.可行性、d.输入性、e.输出性
5.算法分析
时间复杂度、空间复杂度;
一般情况下,鉴于运算空间较为充足,所以算法把时间复杂度作为分析重点;
一般以基本运算的频度来分析算法的时间复杂度,记住以下关系:
1<log2^n<n<nlog2^n<n^2<n^3<2^n
待续---》