数据结构与算法概述

第一节 数据结构的概念

1.1 什么是数据结构

数据结构是指互相之间存在一种或多种特定关系的数据元素的集合

一句话解释:存数据的,而且还是存在内存中。

1.2常见的数据结构

线性表:数组,链表,栈,队列

散列表:hash 位图

树:二叉树 多路树 堆

图:有向图 无向图 带权图

第二节 算法的概念

2.1什么是算法

算法是指解题方案的准确而完整描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制

一句话描述:算法是一种解决特定问题的思路

2.2常见的算法

排序:冒泡 快速 插入 递归 计数排序 选择排序 堆排序 桶排序

其它:LRU LFU hash算法 一致性hash

算法思维:递归 回溯 分治 贪心 动态规则

第三节 算法复杂度

数据结构和算法本质上是“快”和“省”,所以代码的执行效率是非常重要的度量

我们采用时间复杂度和空间复杂度来计算

3.1 时间复杂度

我们假设执行一行代码的时间为t,通过估算,代码的执行时间T(n)与次数成正比

T(n)=0(f(n))

T(n):代码执行时间

n:数据规模

f(n):每行代码执行次数总和

O:代码的执行时间与f(n)表达式成正比

当n无限大时,低阶,常量,系统都可以忽略

所以T(n)=O(n)

即时间复杂度为O(n),也就是代码执行时间随着数据规模的增加而增长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值