数据结构与算法知识点总结

本文总结了数据结构与算法的关键知识点,包括数值列表、递归、搜索与排序(如冒泡排序、选择排序、插入排序等)、链表、堆栈和队列、哈希表、树、堆及其应用、图论、双指针和滑动窗口、动态规划及贪心算法。深入探讨了这些概念的基本思想、操作和应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数值列表

  • 顺序存储数据
  • 连续存储
  • 任意顺序访问,可变大小的列表数据结构允许增加、删除元素
  • 例如: 酒店空置房间的列表、城市的列表和书单

操作

  • 创建一个空列表
  • 确定此列表是否为空
  • 确定列表中项目个数
  • 在列表中给定位置添加项目
  • 在列表中给定位置删除元素
  • 删除列表中所有元素
  • 获取列表中给定位置的项目 

二、递归

基本思想:

  • 可以把要解决的问题转化为一个子问题,而这个子问题的解决方法仍与原来的解决方法 相同,只是问题的规模变小了。
  • 原问题可以通过子问题解决而组合解决。
  • 基础案例:存在一种简单的情境,是问题在简单情境下退出。
  • 如果你对程序逻辑不够小心,你可能会错过一个基本的例子并进入无限递归 编码时要非常小心,因为它很难调试

三、搜索与排序

  • 顺序查找
  • 折半搜索
  • 二分搜索

冒泡排序

  • 重复列表进行排序,比较每对相邻的项目,如果它 们的顺序错误,则交换它们
  • 在每次通过时,未排序的最大元素已被“冒泡 ”到阵列末端的合适位置
  • 重复列表直到不需要交换,这表明列表已被排序

属性:

  • 稳定
  • O(1)额外的空间
  • O(n2)比较和交换
  • 适应性:O(n)接近排序时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值