数据结构与算法笔记(一)

本文介绍了算法的基本特性,包括有穷性、确定性、可行性等,并强调了好算法应具备的正确性、可读性和健壮性。同时,探讨了时间复杂度和空间复杂度的概念,指出在评估算法效率时通常关注最坏情况。针对数据结构,文章讲解了线性表,特别是顺序表的实现方式,包括静态和动态分配,并提及了两种查找方法。此外,还简要回顾了程序设计课程中的相关内容。
摘要由CSDN通过智能技术生成

算法的特性

1.有穷性
2.确定性
3.可行性
4.输入
5.输出

“好”算法的特性

1.正确性
2.可读性(无歧义,好理解)
3.健壮性
4.高效率与低存储
在这里插入图片描述

时间复杂度

在这里插入图片描述
使用估算法,只保留最大的项,考虑数量级就可以
在这里插入图片描述

空间复杂度

在这里插入图片描述
时间复杂度分为最好,最坏,平均
一般情况下只考虑最坏,平均。

平均时间复杂度等于每种可能的时间复杂度之和 x 1/n

对数据的操作--------创建,销毁,增删改查

线性表

具有相同数据类型的n(n>=0)的数据元素的有限序表,其中n为表长,当n=0时线性表是一个空表。
在这里插入图片描述

顺序表

用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

顺序表的实现----静态分配

提前定义了表的的大小

顺序表的实现----动态分配

c-------------malloc,free 函数

动态增加空间
在这里插入图片描述
在这里插入图片描述

顺序列表的查找

1,按位查找
2,按值查找
在这里插入图片描述
(前两章之前程序设计课程学过,记得比较水,ppt来自bilibili王道考研课程)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值