数据结构和算法概述

什么是数据结构?

官方解释:

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。

大白话:

数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据

数据结构分类

传统上,我们可以把数据结构分为逻辑结构和物理结构两大类。

逻辑结构分类:

逻辑结构是从具体问题中抽象出来的模型,是抽象意义上的结构,按照对象中数据元素之间的相互关系分类,也是 我们后面课题中需要关注和讨论的问题。

a.集合结构:集合结构中数据元素除了属于同一个集合外,他们之间没有任何其他的关系。

b.线性结构:线性结构中的数据元素之间存在一对一的关系

c.树形结构:树形结构中的数据元素之间存在一对多的层次关系

d.图形结构:图形结构的数据元素是多对多的关系

物理结构分类:

逻辑结构在计算机中真正的表示方式(又称为映像)称为物理结构,也可以叫做存储结构。常见的物理结构有顺序 存储结构、链式存储结构。

顺序存储结构:

把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的 ,比如我们常用的数组就是 顺序存储结构。

顺序存储结构存在一定的弊端,就像生活中排时也会有人插队也可能有人有特殊情况突然离开,这时候整个结构都 处于变化中,此时就需要链式存储结构。

链式存储结构:

是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的也可以是不连续的。此时,数据元素之间并 不能反映元素间的逻辑关系,因此在链式存储结构中引进了一个指针存放数据元素的地址,这样通过地址就可以找 到相关联数据元素的位置

什么是算法?

官方解释:

算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法解决问题的策略 机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

大白话 :

算法就是解决问题的方式,就像中学时代的数学一样,其实数学领域的算法和计算机领域的算法有很多相通之处。

我们后面要刷的很多题目,都不好说是数学问题还是算法问题。

我们所涉及的算法,是计算机科学领域的算法,它的本质是一系列程序指令,用于解决特定的运算和逻辑问题

算法有简单的,也有复杂的,简单的如1+1=2

也有复杂的,例如

大千世界任务问题,一旦向使用计算机来解决,那必然最终要变成一行行可以执行的代码,解决这个问题的过程就是算法。

算法与数据结构又是啥关系

算法是解决问题的思想,数据结构是具体的实现载体,这就像战术与武器的关系。

任何算法,如果想做成计算机可以执行的程序,那必然要借助数据结构将算法进行细化和步骤化,这就是程序开发的设计方案。

在算法考察中,有相当一部分就是数据结构本身的增删改查和各种各样的变换。而在此基础之上,再考虑一些比较复杂的实际问题


这期就到这里 , 下期见!

相关推荐
郝学胜-神的一滴5 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
颜酱6 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919107 小时前
C++代码风格检查工具
开发语言·c++·算法
yugi9878387 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
DuHz7 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
Polaris北极星少女7 小时前
TRSV优化2
算法
代码游侠8 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
2301_763472468 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
abluckyboy9 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
园小异9 小时前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展