数据结构和算法
文章平均质量分 76
挨踢SuperMan
科技改变世界之前,却先磨灭了我。。。。
展开
-
聊一聊数据的逻辑结构和物理结构
我们已经知道,数据的存储形式大致可以分为线性结构,树形结构,图结构和散列结构。通常我们选择一个高效低耗的存储结构主要取决于数据存储的逻辑结构和物理结构。逻辑结构简单来说,数据的逻辑结构就是数据间的逻辑关系,而与他们在计算机中的存储位置无关。而按照数据间的关系,我们可以将逻辑结构分为线性结构和非线性结构。线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前驱...原创 2018-12-07 18:31:24 · 3264 阅读 · 0 评论 -
如何理解算法
算法是对执行的计算过程的具体描述。简单点说,算法就是解决问题的方法步骤。在编程中,算法通常是由类方法或者函数来实现的。比如之前提到的数据结构异同图,上面有些数据结构搜索快,插入和删除慢,有些数据结构搜索慢,但是插入和删除快,这些其实都是因为实现这些数据结构的算法不同造成的。算法的性质一个算法必须满足下面的条件:(1)有穷性。一个算法必须总是在执行有穷步之后结束,且每一步都可在有...原创 2018-12-07 21:42:26 · 4985 阅读 · 0 评论 -
时间复杂度和空间复杂度
算法,就是解决问题的方法。同一个问题,可能有多种不同的方法去解决,虽然结果最终一样,但是消耗的资源却可能不尽相同。一个算法是否是一个好算法,是通过程序的执行效率来体现的。而程序的执行效率主要看两方面:算法的运行时间。(称为“时间复杂度”) 运行算法所需的内存空间大小。(称为“空间复杂度”)一个算法是由控制结构(顺序、分支和循环3种)和原操作(指固有数据类型的操作)构成的,则算法时间取决于两...原创 2018-12-07 23:04:55 · 1743 阅读 · 0 评论 -
数据结构和算法--Java数组
本文将讲解数据结构的鼻祖-数组。有过编程语言基础朋友都知道,几乎所有的程序设计语言学习之初都有数组的身影,当然每种语言对数组的实现和处理也不相同,但是本质是都是用来存放数据的的结构。下面我将讲解下数组在Java中的实现。数组的定义和使用在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型(Object类型数组除外),数组的元素类型和数组的大小都是确定的。一、...原创 2018-12-08 23:28:24 · 221 阅读 · 0 评论 -
数据结构和算法-Java栈
JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。因此,栈对数据的存储是在java运行时在内存中进行的,当程序退出或者执行完毕,它们就会销毁。因此通常只是作为一种程序构思数据结构的辅助工具,后面要讲到的队列也是如此。栈的定义和特性一、概念:栈是一种只允许在一端进行插入或删除的线性表。它按照先进后出的原则存储数据...原创 2018-12-13 13:25:55 · 151 阅读 · 0 评论 -
数据结构和算法--Java选择、插入、冒泡排序
作为一个程序员,我们经常能听到大家在讨论各种排序算法,说的云里雾里,貌似很难的样子,感觉可牛逼了。可是当我们仔细去学习后发现,其实并是想象中那么难,下面就来分析下几种常用的排序。选择排序原理:选择排序是每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。主要分如下步骤:(1)将第一个位值上的数跟之后所有位置上的数依次进行比较,如果第一个...原创 2018-12-09 11:45:34 · 224 阅读 · 0 评论 -
如何理解数据结构
作为一个编程技术人员,我们无时无刻不跟数据打交道,那数据和数据结构到底啥关系呢 ?在官方的定义中数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。其实通俗的讲,数据结构就是计算机存储、组织数据的方式。 数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。我们存储数据的目的是为了后期能够加以利用,通常,我们开发过程中最常用的是变量或者数据存储数据,如...原创 2018-12-06 22:51:14 · 3093 阅读 · 0 评论 -
常用的数据结构有哪些
我们之前已经知道,数据结构就是计算机存储,组织数据的方式。我们根据存储方式可将数据结构大概分成图1所示以下几种: 图1(1)线性数据结构:元素之间一般存在元素之间存在一对一关系,是最常用的一类数据结构,典型的有:数组、栈、队列和线性表。(2)树形结构:结点间具有层次关系,每一层的一个结点能且只能和上一层的一个结点相关,但同时可以和下一层的多个结点相关,称为“一对多”关系,常见类...原创 2018-12-07 13:27:18 · 11220 阅读 · 0 评论 -
数据结构和算法--Java实现矩阵
相信朋友们对矩阵应该不陌生,它贯穿了几乎所有计算机应用数学的所有课程。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。下面我们简单复习下。什么是矩阵1.矩阵定义在数学中,矩阵(Matrix)是一个按照长方阵列排列的实数或复数的集合,最早来自于方程组的系数及常数所构成的方阵。由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作...原创 2018-12-09 15:10:43 · 2204 阅读 · 0 评论