一起学数据结构和算法(一)| 初探算法和数据结构

1、前言

数据结构学习路线:
在这里插入图片描述

1.1 什么是算法

简单来说,算法就是解决问题的一系列方法。

在计算机领域,算法是一系列程序指令用于处理特定的运算和逻辑问题

算法分类:

  1. 基础算法
    • 搜索算法(深度优先搜索(DFS)、广度优先搜索(BFS)、二分搜索等)
    • 排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)
    • 图算法(Dijkstra算法、Floyd算法、最小生成树算法等)
    • 动态规划算法(背包问题,最长公共子序列等)
    • 分治算法(快速排序、归并排序、大整数乘法等)
    • 贪心算法(霍夫曼编码)
    • 回溯算法(皇后问题,数独问题等)
  2. 专业领域算法
    • 服务于特定领域,如阿尔法狗战胜围棋冠军,背后就是人工智能算法。

衡量算法优劣的主要标准是时间复杂度空间复杂度

  • 时间复杂度:一个算法运行时间长短的量度,T(n)=O(f(n)).
  • 空间复杂度:一个算法在运行过程中临时占用存储空间大小的量度,S(n)=O(f(n)).
1.2 什么是数据结构

数据结构(data structure)是数据的组织、管理和存储格式,其使用目的是为了高效的访问和修改数据

常见的数据结构:

  1. 线性数据结构(数组、链表、以及从它们所衍生出来的栈、队列)
  2. 树结构(二叉树:红黑树、AVL树,非二叉树:一般文件系统所使用的B-树,关系型数据库使用的索引结构B+树,用于数据压缩的哈夫曼树)
  3. 图结构
  4. 复合数据结构(哈希表、跳表、线段树、哈希链表)

目前在跟程序员小灰一起学算法,欢迎感兴趣的朋友们来一块学!!!

小灰的算法从入门到进阶

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值