数据结构
风神幻龙
这个作者很懒,什么都没留下…
展开
-
数据结构浅析(一)
虽然从事编程已经好多年了,但是对于数据结构并没有任何了解,因为平时用不到,最近研究mysql的时候偶然看到了数据结构一词,忽然间发现我对于数据结构居然一无所知,虽然很久以前就看到过类似“程序=数据结构+ 算法”的说法,但是一直没有对其进行深入研究,借此机会正好来探索下数据结构的世界。于是乎百度了各种有关数据结构的资料,经过几天的学习与整理,得出了如下的结论。 数据结构基础概念相关: ...原创 2015-07-25 11:47:09 · 492 阅读 · 0 评论 -
数据结构浅析(二)
了解了数据结构的定义,知道了数据元素,数据项,接着我们就需要了解下数据结构的基本组成部分,一般分为三个部分,数据的逻辑结构,数据的物理结构和数据结构的运算。数据的逻辑结构是从具体问题中抽象出来的数学模型,是描述数据元素及其关系的数学特性,有时候就把逻辑结构简称为数据结构。原创 2015-07-25 16:48:54 · 448 阅读 · 0 评论 -
数据结构浅析(三)
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 例如:整型变量,就是某个区间(不同机器区间不同)的整数的集合,其操作就是我们常用的加、减、乘、除等算数运算。 数据类型包括抽象数据类型、多形数据类型(暂不详述,后补)。 根据“值”的特性不同,数据类型可分为原子类型和结构类型。 原子类型:不可分解的,例如整型。 结构类型:由若干成分按照某种结构组成,可...原创 2018-04-24 17:55:23 · 289 阅读 · 0 评论 -
数据结构浅析(四)
算法是对特定问题求解步骤的一种描述。 算法具备以下特性: 1.有穷性:算法对合法输入值执行步骤有穷,执行时间有穷。这里的有穷必须是合理的,可接受的。 2.确定性:算法中的指令含义必须明确,不会产生二义性,任何条件下都只有一条执行路径(相同输入只会得到相同的输出)。 3.可行性:算法中的操作必须可以通过已实现的基本运算执行有限次来实现。 4.输入:算法可以有零个...原创 2018-05-04 10:44:52 · 145 阅读 · 0 评论 -
数据结构浅析(五)
何为好的算法? 1.正确性:算法中的正确通常包含几种含义。 1)程序不含语法错误。 2)程序对于输入的几组数据得出满足要求的结果。 3)程序对于经典、苛刻、有刁难性的几组数据得出满足要求的结果。 4)程序对于一切合法数据得出满足要求的结果。通常满足第三条即可衡量一个程序是否合格。 2.可读性:算法先是给人阅读,其次才是给机...原创 2018-05-04 14:32:33 · 224 阅读 · 0 评论 -
数据结构浅析(六)
算法的效率 评估一个算法有两种方法 1.事后统计法 2.事前分析估算法 事后统计法:我们可以通过运行一个算法来获取这个算法的具体执行时间。虽然我们可以得到一个准确的数值,但是这个计算出来的数值依赖于硬件,软件,程序语言等多种环境因素,往往会掩盖算法本身的优劣,因此更倾向于事前分析估算法。 事前分析估算法: 高级语言编写的程序在计算机上运行所消耗的时间取决...原创 2018-05-07 14:53:46 · 219 阅读 · 0 评论 -
数据结构浅析(七)
时间复杂度 一个对小编来说既熟悉又陌生的名字,熟悉是因为提到算法,就会提到时间复杂度,听过不下百十遍,陌生是因为我从来没有仔细的去了解下什么是时间复杂度,今天就让我们一起来窥探下时间复杂度神秘的外纱吧。 算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作 T(n) = O(f(n)) 随着问题规模n的增大,算法执行时间的增长率和f(n)的...原创 2018-05-08 11:56:36 · 182 阅读 · 0 评论 -
数据结构浅析(八)
线性结构1.存在唯一的一个被称为第一个的数据元素2.存在唯一的一个被称为最后一个的数据元素3.除了第一个之外,集合中的每个数据元素都有且只有一个前驱4.除了最后一个外,集合中的每个数据元素都有且只有一个后继原创 2018-06-25 14:37:09 · 189 阅读 · 0 评论 -
数据结构浅析(九)
栈是限定仅在表尾进行插入和删除操作的线性表表尾为栈顶,表头为栈底栈的特性:先进后出栈在程序语言设计中可以实现递归原创 2018-07-12 11:27:58 · 111 阅读 · 0 评论