zoukankan      html  css  js  c++  java
  • 第一阶段:Java内功秘籍-线性表

    标题图

    前言

    为什么要学习数据结构与算法,如果你学会了做安卓,javaweb,前端等,都是你的武功秘籍,但是如果你的内功不够好,再厉害的功夫也是白费。

    数据结构和算法:什么是数据结构,什么是数据,在计算机内部数据为01010101。。。,数据是我们生活中一切的事务都可以表示为数据,如你和你朋友聊天的话都是数据,朋友圈的发表内容也是内容。

    数据结构是数据之间相互存在的一种或多种特定的关系,数据之间的关系。数据结构的关系,要么一对一,或者一对多。

    er图,实体关联图。数据与数据之间的关系,分:

    • 图形结构
    • 树形结构
    • 线性结构
    • 集合结构

    逻辑结构.png

    图形结构

    树形结构

    线性结构

    集合结构

    以上图形的圆不代表相同的元素,都是不同的小圈圈哦~

    还有两个存储结构:

    顺序存储结构和链式存储结构

    顺序存储结构

    链式存储结构

    抽象数据类型

    那么什么是抽象数据类型,是一个数字模型以及定义在该模型上的一组操作,数据类型是将相同的一组性质的集合,和定义在此集合上的操作。

    线性表

    线性表,线性结构,表结构。

    线性表

    线性表有两种不同的存储方式

    顺序存储方式线性表存储位置连续,方便查询各个元素。优点在查找的时候效率比较高的,但在插入和删除的时候效率比较低。

    链式存储方式线性表,对于链表存储的单元是可以连续的,也可以不连续,在链式中存储包含datanext->data

    P p1=new P();
    p1.data = "data";
    P p2=new P();
    p1.data = p2;

    对于链式存储结构,优点是插入和删除效率高,而查询效率低。

    链式和顺序存储优缺点

    顺序存储方式线性表优点在查找的时候效率比较高的,但在插入和删除的时候效率比较低。

    对于链式存储结构,优点是插入和删除效率高,而查询效率低。

    比较

    循环链表

    循环链表为一种链式存储结构,它的最后一个结点指向头结点,形成一个环,这种头尾相连的单链表称为单循环链表,简称循环链表

    循环链表中的任何一个结点出发,它都能够找到其他结点,循环链表的操作单链表的操作是一样的,差别就在于算法中的循环条件不同而已。

    双向循环链表也叫双链表,是单向循环链表的每个结点中,再设置一个指向其前驱结点的指针域,双向链表是链表的一种。

    结语

    • 本文主要讲解 Java内功秘籍-线性表
    • 下面我将继续对Java、 Android中的其他知识 深入讲解 ,有兴趣可以继续关注

    送❤

  • 相关阅读:
    关于metaclass,我原以为我是懂的
    有趣的版本号
    关于乱序(shuffle)与随机采样(sample)的一点探究
    我在博客园的这一年
    我的进程去哪儿了,谁杀了我的进程
    Elasticsearch学习系列之term和match查询
    数据库垂直拆分 水平拆分
    分布式锁的几种实现原理
    Redis常见面题
    github建仓库注意
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11932548.html
Copyright © 2011-2022 走看看