JS数据结构&算法学习——概念

简介: 在计算机中,存储和组织数据的方式通过了解数据结构来以高效方式来对数据进行存储和组织

数据结构

概念

  • 在计算机中,存储和组织数据的方式
  • 通过了解数据结构来以高效方式来对数据进行存储和组织

应用

我们通过生活中的应用来阐释数据结构

  1. 插队的车库
    我开着我的小毛驴准备停在商城的停车场,但是现在只有一个车位,而车位的后面还有一辆车,这个时候就应用到了栈的概念,先进后出,只有这辆车退出来我才能开到那个位置。
  2. 银行的保险库
    银行的保险库以特定的方式来存储物品和财产,可以是以存放人的姓名首字母排列,也可以按照存放财产的多少来排列,然后在查找的过程中通过查找的复杂性来体现排列的情况和特点,这体现了计算机中的数据结构。
  3. 长长的队伍
    在我们生活中常常会进行排队,在排队的过程中头出尾进,这就是数据结构中的队列。
  4. 等等

综上所述,数据结构所考虑的在于应对不同场景下的存储数据的方式以及相对查找等操作效率的体现。

常见数据结构

不同种类的数据结构的应用场景不同,对应不同的场景其性能也不同,在真正使用的过程中还是要看开发的实际需求来选择。

  1. 数组:数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的
  2. 栈:栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作
  3. 队列:队列是一种线性表,能在线性表的两端端操作,队首允许出去,队尾允许进来
  4. 链表:链表是物理存储单元上非连续的、非顺序的存储结构,和数组相比是非连续的
  5. 树:由n(n>=1)个有限节点组成一个具有层次关系的集合
  6. 堆:可以被看做一棵树的数组对象

算法

概念

  • 一套装修方案,如果说一个任意语言的程序比作为房子的话,算法就是一种装修方案
  • 用何种装修的方式也就是算法,来优化我们的房子也就是程序
  • 不依赖于语言

应用

  1. 泡泡在水中的行为
    众所周知的冒泡排序是初学者常用的算法之一,比较相邻两个泡泡,如果第一个比第二个大,那么交换两个泡泡,对每一对相邻的泡泡做着相同的事情,并直到没有任何一个泡泡需要进行交换为止,而泡泡就是需要比较的元素,同时这也体现了算法的,输入&输出



相关文章
|
29天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
96 4
|
3天前
|
存储 运维 监控
探索局域网电脑监控软件:Python算法与数据结构的巧妙结合
在数字化时代,局域网电脑监控软件成为企业管理和IT运维的重要工具,确保数据安全和网络稳定。本文探讨其背后的关键技术——Python中的算法与数据结构,如字典用于高效存储设备信息,以及数据收集、异常检测和聚合算法提升监控效率。通过Python代码示例,展示了如何实现基本监控功能,帮助读者理解其工作原理并激发技术兴趣。
41 20
|
26天前
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?
|
26天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
57 1
|
1月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
27 2
|
1月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
52 1
|
1月前
|
C语言
【数据结构】栈和队列(c语言实现)(附源码)
本文介绍了栈和队列两种数据结构。栈是一种只能在一端进行插入和删除操作的线性表,遵循“先进后出”原则;队列则在一端插入、另一端删除,遵循“先进先出”原则。文章详细讲解了栈和队列的结构定义、方法声明及实现,并提供了完整的代码示例。栈和队列在实际应用中非常广泛,如二叉树的层序遍历和快速排序的非递归实现等。
207 9
|
1月前
|
存储 算法
非递归实现后序遍历时,如何避免栈溢出?
后序遍历的递归实现和非递归实现各有优缺点,在实际应用中需要根据具体的问题需求、二叉树的特点以及性能和空间的限制等因素来选择合适的实现方式。
35 1
|
27天前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
53 5
|
1月前
|
存储 算法 Java
数据结构的栈
栈作为一种简单而高效的数据结构,在计算机科学和软件开发中有着广泛的应用。通过合理地使用栈,可以有效地解决许多与数据存储和操作相关的问题。