数据结构和算法概述

1 数据结构和算法的概念

  • 数据结构:对计算机内存中的数据的一种安排。
  • 算法:对数据结构中的数据进行各种处理。

2 数据结构和算法的应用方面

  • ①现实世界的数据存储
  • ②程序员的工具
  • ③现实世界的建模

3 常用的数据结构以及优缺点

  • 数组

    • 优点:插入快(知道下标)、查找快(根据索引查找)
    • 缺点:查找慢(根据内容查找),删除慢,数组的长度是固定的
  • 有序数组
    • 优点:比无序的数组查找块
    • 缺点:删除和插入慢,数组的长度是固定的
    • 优点:提供后进先出的存取方式
    • 缺点:存取其他项很慢
  • 队列
    • 优点:提供先进先出的存取方式
    • 缺点:存储其他项很慢
  • 链表
    • 优点:插入、删除比较快
    • 缺点:查找慢
  • 二叉树
    • 优点:查找、插入、删除比较快(树平衡的情况下)
    • 缺点:删除的算法比较复杂
  • 红黑树(平衡树)
    • 优点:查找、插入和删除都很快
    • 缺点:算法复杂
  • 2-3-4树(平衡树)
    • 优点:查找、插入和删除都很快
    • 缺点:算法复杂
  • 哈希表
    • 优点:插入快、通过key获取value快
    • 缺点:在不知道key的情况下删除比较慢  
    • 优点:插入和删除快,对最大数据项的存取快
    • 缺点:对其他数据项存取慢
    • 优点:对现实世界建模
    • 缺点:有些算法慢并且复杂    

原文地址:https://www.cnblogs.com/xuweiweiwoaini/p/9045399.html

时间: 2024-10-12 19:08:02

数据结构和算法概述的相关文章

数据结构与算法概述(基本概念)

什么是数据结构:数据 + 关系 关系可分为:集合,线性结构,树结构,图结构或网状结构. 存储结构:顺序存储,链式存储,索引存储,散列存储. 数据类型:原子类型,结构类型 1.算法的时间复杂度 2.算法的空间复杂度 2.1 算法本身占用的空间 2.2 算法的运行时占用的空间 2.3 算法运行时临时占用的空间

大数据就是这么任性第一季数据结构和算法(一线经验、权威资料、知识新鲜、实践性强、全程源码)

这门课程是针对大数据工程师和云计算工程师的基础课程,同时也是所有计算机专业人士必须掌握的一门课程. 如果不掌握数据结构和算法,你将难以掌握高效.专业的数据处理手段,更难以从容应对复杂的大数据处理场景. 请思考以下问题: 1.社交网站(如微博.facebook)中,人与人的关系是海量数据,你如何研究和处理此问题? 2.数据库的索引作用是什么?为什么利用哈希.B+树和堆表等数据结构来组织索引? 3.为什么Linux的虚拟内存管理模块,使用红黑树来处理VMA的查找? 4.为什么搜索引擎可以在毫秒级返回

【数据结构与算法】

数据结构与算法概述 数据结构的定义 我们如何把现实中大量而且非常复杂的问题以特定的数据类型(个体)和特定的存储结构(个体的关系)保存到相应的主存储器(内存)中,以及在此基础上为实现某个功能而执行的相应操作,这个相应的操作也叫做算法. 数据结构 == 个体 + 个体关系 算法 == 对存储数据的操作 数据结构的特点 数据结构是软件中最核心的课程. 程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言. 算法 衡量算法的标准 时间复杂度 指的是大概程序执行的次数,而非程序执行的时间. 空

【学习总结】尚硅谷2019java数据结构和算法

目录 第一章 内容介绍和授课方式 第二章 数据结构和算法概述 第三章 稀疏数组和队列 第四章 链表 第五章 栈 第六章 递归 第七章 排序算法 第八章 查找算法 第九章 哈希表 第十章 树结构的基础部分 第十一章 树结构实际应用 第十二章 多录查找树 第十三章 图 第十四章程序员常用10种算法 END 原文地址:https://www.cnblogs.com/anliux/p/11635769.html

算法数据结构01 /算法数据结构概述

目录 算法数据结构01 /算法数据结构概述 1. 算法 2. 评判程序优劣的方法 3. 时间复杂度 4. 数据结构 5. python数据结构性能分析 6. 总结 算法数据结构01 /算法数据结构概述 1. 算法 算法概述 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务.一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用. 算法是独立存在的一种解决问题的方法和思想. 对于算法而言,实

数据结构与算法:概述+思维导图

还记得这个经典公式吗? 程序=数据结构+算法     可见数据结构和算法对于程序的重要性.基于此博主写了数据结构与算法系列随笔.下面先给出数据结构与算法的思维导图. 一.数据结构的基本概念 数据结构定义: 数据结构是一种存储和组织数据的方式,以便于访问和修改.数据结构包括数据的逻辑结构.数据的存储结构以及数据的运算,即按照某种逻辑关系组织起来的一批数据,按一定的映射方式把它存放在计算机的存储器中,并在这些数据上定义了一个运算的集合. 数据的逻辑结构:反映数据元素之间的关系.有集合.线性结构.树型

数据结构和算法之概述

1 什么是数据结构和算法? 1.1 数据结构 对内存或磁盘上的数据的一种安排,也就是数据的组织形式.基本的数据结构包括数组.链表.栈.队列.树.哈希表.图.堆等等. 1.2 算法 是对数据结构中的数据进行处理的方式或是过程,广义上讲,就是解决问题的方法. 2 数据结构和算法的关系 数据结构是为算法服务的,很多算法都依赖于特定的数据结构,但是不是全部算法,算法当然可以和数据结构没有关系. 3 学习数据结构和算法有什么好处? 正确的选择数据结构和算法,可以使得程序更加健壮,运行效率大大提高,因此,数

数据结构与算法系列十(排序算法概述)

1.引子 1.1.为什么要学习数据结构与算法? 有人说,数据结构与算法,计算机网络,与操作系统都一样,脱离日常开发,除了面试这辈子可能都用不到呀! 有人说,我是做业务开发的,只要熟练API,熟练框架,熟练各种中间件,写的代码不也能“飞”起来吗? 于是问题来了:为什么还要学习数据结构与算法呢? #理由一: 面试的时候,千万不要被数据结构与算法拖了后腿 #理由二: 你真的愿意做一辈子CRUD Boy吗 #理由三: 不想写出开源框架,中间件的工程师,不是好厨子 1.2.如何系统化学习数据结构与算法?

Java数据结构和算法(一):综述

数据结构和算法能起到什么作用? 数据结构是指数据在计算机内存空间或磁盘中的组织形式.数据结构包括数组.链表.栈.二叉树.哈希表等等.算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对数据进行排序. 数据结构的概述 数据结构 优点 缺点 数组 插入快,如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定 有序数组 比无序数组查找快 删除和插入慢,大小固定 栈 提供后进先出方式的存取 存取其他项很慢 队列 提供先进先出方式的存取 存取其他项很慢 链表 插入快,删除快 查找慢 二叉