算法创作|什么是数据结构

前言问题描述我们经常会听到有人说起:程序 = 数据结构 + 算法,当我们遇到一个问题,或有一个需求时,在设计程序来解决问题时,其中重要一步就是设计数据结构。那么到底什么是数据结构呢?解决方案我们先看看百度百科上对数据结构的定义:

数据结构是一种抽象的封装。说简单点,就是把一堆基本的数据,按照某种顺序,方法给揉成一坨。相信大家都曾尝试过做菜,做一道菜需要放各种调料,如盐,味精还有肉等,把它们混合在一起就做成了一道菜。这里我们以生活中常见的番茄炒蛋为例来讲一讲什么是数据结构。下图是百度百科中番茄炒蛋的做法。

下面我们用程序来表示一下:class 番茄炒蛋:鸡蛋 = [ ]西红柿 = [ ]食用油 = [ ]味精 = [ ]生抽 = [ ]葱花 = [ ]清水 = [ ]盐 = [ ]糖 = [ ]上述这个结构体就是一个自定义的数据结构,将很多种不同的东西融合在一起。而计算机中的数据结构,则是把一些基本的数据类型,如string,int,float等融合成一些复杂的数据结构,如list,tuple,dict等。当然,数据结构并没有我们举的例子那样简单,但是原理是一样的。结语具体来说,数据结构就是对数据按照一定的规律进行组织和储存的一种方式。而对数据如何安排,这取决于你以怎样的方式去安排储存这些数据,你得到的就是怎样的数据结构。在用程序解决一些问题时,我们要“因地制宜”地设计或选择数据结构,因为没有完美的数据结构,只有最合适的数据结构。实习编辑:王晓姣稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐

  • 数据结构绪论

    学习数据结构之前或许你会有这样的疑问: 这门课我们学什么? 这门课好学吗? 这门课怎么才能学好? 接下来我们就一一解答这些问题 Q1:这门课我们学什么? 凭借一句话获得图灵奖的Pascal语言之父-- ...

  • 怎样才是一个好算法:空间复杂度 & 时间复杂度​

    大家好,欢迎来到 Crossin的编程教室 ! "算法"是一个我们经常在编程学习.求职面试时听到的一个词.那么,什么是算法?以及如何评价一个算法的好坏?今天我们就来给大家说一说. ...

  • 数据结构与算法(Python)

    why?我们举一个可能不太恰当的例子:如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器.那么数据结构与算法是什么?答曰:兵法!我们可以不看兵法在战场上肉搏, ...

  • 什么是计算机程序?

    什么是计算机程序?

  • 算法创作|我们所学习的数据结构是什么

    问题描述我在需要认知的数据结构,是指的什么?解决方案数据结构其实就是一个抽象的数据模型,在应用程序中用来方便数据存储的.比如说,整型是一个基础的数据类型.这个整型数组就是一个数据结构.小的应用程序用基 ...

  • 算法创作|神奇语言问题解决方法

    问题描述一位同学正在学习一门神奇的语言,其中的单词都是由小写英文字母组成,有些单词很长,而这位同学一直记不住,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现的最多来分辨单词,现在请帮助这位同学 ...

  • 算法创作|规则数列计算解决方法

    问题描述如下图所示,小明用从 1 开始的正整数"蛇形"填充无限大的矩阵.1 2 6 7 15 -3 5 8 14 -4 9 13 -10 12 -11 --(1)容易看出矩阵第二行 ...

  • 算法创作|阶梯电价问题解决方法

    问题描述为了提倡居民节约用电,某省电力公司执行"阶梯电价",安装一户一表的居民用户电价分为两个"阶梯":月用电量50千瓦时(含50千瓦时)以内的,电价为0.53 ...

  • 算法创作 | 0到n-1中缺失的数字问题解决方法

    问题描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字.示例1:输入:[0,1,3 ...

  • 算法创作|找出游戏的获胜者问题解决方法

    问题描述共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i ...

  • 算法创作 | 二叉树遍历问题解决方法

    问题描述二叉树的先序遍历.中序遍历.后序遍历怎么求?解决方案给你一个二叉树(如图)那么怎么找出它的先序遍历.中序遍历.后序遍历呢?我们先看一个简单二叉树来了解它的概念. 所谓前序,中序,后序就是指根所 ...

  • 算法创作|烂头背枪双人情况游戏随机模拟

    问题描述对于烂头背枪这个游戏,相信00后的同学并不陌生,这是幼时的回忆,这个游戏本身,有烂头,枪,虎,人,鸡,蜂总共六种角色,每种四个.对应规则为烂头背枪,枪打虎,虎吃人,人养鸡,鸡啄蜂,蜂叮烂头,前 ...

  • 算法创作|“画雪人”问题解决方法

    问题描述示例:运用Turtle画出一个戴帽子的雪人在你门前,我堆起一个雪人,代表笨拙的我,把你久等...解决方案掌握turtle库,you can do you want.代码清单 1 DFS求解1到 ...