数据结构和算法概览(一)

软考视频第一章讲的就是数据结构。这部分的内容在自考书中学习过,曾经也接触过,总之,就是有一种熟悉的感觉。猛然间的看上去好像有非常多的数据结构,可是当把它们梳理好总结好以后,你会发现数据结构是如此的整齐。

计算机在解决不论什么实际问题都离不开数据表示和处理,而数据表示和处理核心的问题之中的一个就是数据结构。

数据结构就是计算机在组织数据和存储数据的方式。数据结构是计算机底层的知识,足够引起我们的重视,所以我们首先要从这样一个定位去学习它。

第一章能够分成两块内容。一是数据结构(包含逻辑结构和存储结构),二是算法(包含查找的排序)。不同的数据结构决定了它的算法运行的快慢。

这两块是紧密相关了

(一)数据结构

数据结构。无非就是数据是以一个什么样的结构被组织在计算机内部的。我们常常听说或者使用的线性表、二叉树、图等它们能够分为两种分类:逻辑和存储。所谓逻辑就是人们能够主观想象出来的一种结构。而存储就是物理上的存储方式。

数据的逻辑结构又是以一种或能够是几种方式存储结构存储在计算机中的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGRkMTk5MTA1MDU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="800" height="360" >

(二)算法

当数据存储到计算机中时,我们须要对其进行改动。比方插入和删除或者查找读取数据。这是就涉及到了算法,即对某一数据结构下的数据进行查找和操作。主要介绍排序和查找,查找就是在数据结构中查找到当中某一个数据所在的位置。排序就是对数据的大小进行又一次排序。

个人认为还是排序算法比較复杂一点。主要原因是种类比較多。查找就是仅仅有三种,顺序查找和二分查找可对线性的存储数据进行查找。分块查找涉及到索引。评价一个算法的好坏就是看它的时间复杂度和空间复杂度。对于算法当时看的时候非常明确,可是过后哪怕是总结的时间就不会了,忘的就是这么的快,所以要常常回想曾经学到的东西做比較。对于算法的具体解释(主要是小编自编的)请待下篇分解。

软考小感受:

我忘的真快。我总是非常快的就懂了一个东西又非常快的忘记了。

我非常急躁。

前两天视频看完了,做了一套题,真是彻底伤心了。感觉视频和没看过一样(有点太夸张),可是认为自己不会的那么的多。瞬间不淡定了,找同组的人交流了一下,她们说我们会学好几遍的。谁也不能一遍就学会全部的知识,要不然也不会准备三个月了。

是我的问题,又犯了曾经的毛病,总是想一口吃个胖子。

事实上并没有想着一遍就学的怎么样,仅仅是照自己预期的差的非常远。

绘图非常重要。

一直说要总结,事实上在绘图的过程中我们就是在总结了。

时间: 2024-10-13 05:59:05

数据结构和算法概览(一)的相关文章

javascript数据结构和算法 一(本书组织结构)

环境 我们在本书中使用的Javascript编程环境是基于SpiderMonkey 引擎的javascript shell. 第一章讲述了在你的环境中下载 shell的介绍. 其他的shell例如Nodejs同样可以工作,虽然你可能需要简单的改变下代码. 除了shell,唯一你要准备的就是文本编辑器. 本书的组织结构 第一章:javascript语言的概览,至少是在本书中使用的javascript的一些特征.这一章同时展示了在整本书中使用的一些编程风格. 第二章:讨论了在计算机科学中最通用的数据

《数据结构与算法JavaScript描述》

<数据结构与算法JavaScript描述> 基本信息 作者: (美)Michael McMillan 译者: 王群锋 杜欢 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115363398 上架时间:2014-8-5 出版日期:2014 年8月 开本:16开 版次:1-1 所属分类:计算机 > 软件与程序设计 > 网络编程 > javascript 更多关于>>> <数据结构与算法JavaScript描述> 编辑推荐 随着

数据结构与算法系列----最小生成树(Prim算法&amp;amp;Kruskal算法)

 一:Prim算法       1.概览 普里姆算法(Prim算法).图论中的一种算法.可在加权连通图里搜索最小生成树.意即由此算法搜索到的边子集所构成的树中.不但包含了连通图里的全部顶点(英语:Vertex (graph theory)).且其全部边的权值之和亦为最小. 该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch Jarník)发现.并在1957年由美国计算机科学家罗伯特·普里姆(英语:Robert C. Prim)独立发现:1959年,艾兹格·迪科斯彻再次发现了该

数据结构和算法之概述

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

数据结构与算法C++描述学习笔记1、辗转相除——欧几里得算法

前面学了一个星期的C++,以前阅读C++代码有些困难,现在好一些了.做了一些NOI的题目,这也是一个长期的目标中的一环.做到动态规划的相关题目时发现很多问题思考不通透,所以开始系统学习.学习的第一本是<数据结构与算法C++描述>第三版,边学边做一些笔记.所以这些笔记中的代码有很多将会非常简单,甚至可能只有一个记录或者结论. 辗转相除法用来求两个整数的最大公约数,即能同时整除两个数的最大整数.程序如下: int gdc(int m,int n){ int rem; while(n!=0){ //

数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树

[本文谢绝转载,原文来自http://990487026.blog.51cto.com] 树 数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树 二叉树的创建,关系建立 二叉树的创建,关系建立2 三叉链表法 双亲链表: 二叉树的遍历 遍历的分析PPT 计算二叉树中叶子节点的数目:使用全局变量计数器 计算二叉树中叶子节点的数目:不使用全局变量计数器 无论是先序遍历,中序遍历,后序遍历,求叶子的数字都不变;因为本质都是一样的,任何一个节点都会遍历3趟 求二叉树的高度 二叉树的拷

数据结构与算法之线性表

前言 上一篇<数据结构和算法之时间复杂度和空间复杂度>中介绍了时间复杂度的概念和常见的时间复杂度,并分别举例子进行了一一说明.这一篇主要介绍线性表. 线性表属于数据结构中逻辑结构中的线性结构.回忆一下,数据结构分为物理结构和逻辑结构,逻辑结构分为线性结构.几何结构.树形结构和图形结构四大结构.其中,线性表就属于线性结构.剩余的三大逻辑结构今后会一一介绍. 线性表 基本概念 线性表(List):由零个或多个数据元素组成的有限序列. 注意: 1.线性表是一个序列. 2.0个元素构成的线性表是空表.

数据结构与算法(刺猬书)读书笔记----目录

最近在抓底层的语言基础,以前对数据结构和算法并没有太大感觉,但越往深处学就越觉得这些基础真的是要牢牢掌握住.一个简简单单的数组,深究起来都有很多学问.所以打算写个一系列的读书笔记,好好梳理一下这一块的基础知识.这本书是<数据结构预算法JavaScript描述>,是基于JavaScript的.里面大致介绍了数组.列表.栈.队列.链表.散列.集合及各种常见基础算法.作为基础读物算是很全面的.这系列读书笔记也将会跟着书里的顺序一章章的进行梳理.整个过程计划耗时2-3个月,每周更新一到两张,更新的笔记

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

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