今天开始,博主主要分享数据结构的知识,每周不定时更新。半年时间更新完具体版本的所有的数据结构。
1:必备知识点: 考试可能考
1:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
结构 | 数据元素之间的关系 |
集合 | 属于同一个集合,没有其他关系(数学那种) |
线性结构 | 一对一的关系(糖葫芦样子) |
树形结构 | 一对多的关系 |
图状结构 | 多对多的关系(蜘蛛网样子) |
数据结构的形式定义:Data_Structure=(D,S)
D表示数据元素的有限集,S表示D上关系的有限集。
2.算法:算法是对特定问题求解步骤的一种描述,他是指令的优先序列。需要用一种语言来描述。
算法的五个特性:有穷性,确定性,可行性,输入,输出
算法设计的要求:正确性:可读性:健壮性(不会产生异常输出或者中止程序执行)。效率与低存储量需求(不能电脑跑一天了还没运行出来吧?)
2.时间复杂度
按照博主的理解,算法的时间复杂度是对算法效率的度量。一般来说,基本操作重复执行的次数是问题规模n的某个函数,这里我们要注意,他只是个数量级。不用特别精确,如果有大的也有小的操作次数,我们要取大的,就像洛必达法则抓大头一样。
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
}
}
这就是O(n²)