zoukankan      html  css  js  c++  java
  • 数据结构

    在计算机硬件层面,所有被存储和处理的数据最终都被编码为二进制代码

    集合结构:其元素之间没有需要关注的明确关系,也就是说关系R是空集,这样的数据结构就是元素的集合。
    只是把一组数据元素包装为一个整体。这就是最简单的一类数据结构。

    序列结构: 又可称为线性结构,其数据元素之间有一种明确的先后关系,除最后一个外都有后继元素。

    层次结构:数据元素分属于不同的层次,一个上层元素可以关联着一个或者多个下层元素。
    树形结构:最简单的就是树形关系,只有一个根其余元素都是跟的直接或者间接的下层关系,只有一个且仅有一个上层元素与之相连。
    团行结构:元素与元素之间可以有任意复杂的相互联系。

    在程序中使用一个数据结构,需要把这种结构映射到编程语言提供的基本数据机制,或者说是用编程语言的数据机制实现所需的数据结构。这种映射成为数据结构的物理实现。
    简单说就是数据结构每种语言都有不同的数据结构,数据结构就相当于一个类实例化不同的对象,如Python java等。
    支持元素存储和访问的数据结构被称为容器。
    设计的功能性数据结构包括栈、队列、优先队列、字典等

    计算机读取数据时是直接读取内存的,如果数据保存在了硬盘(外存)上,首先应从硬盘拷贝到内存再进行读取操作。
    一个单元可以保存一个字节(8位二进制代码)的数据,64位计算机 一次可以读取8个字节的数据
    访问内存的操作又称为I/O.


    访问的是组合对象如列表、元组、多个数据时,多个袁术被存放在一块连续的内存区域里,给每个元素的顺序编号称为index下标。

    连续结构或链接结构是所有数据结构构造的基础
    块里的数据指向关联关系,关联是单向的,也称为链接或引用。
    变量是内存地址的抽象、Python变量都是对象,Python实现的这种方式称为变量的引用语义,例如a=1,a指向了1,如果b也等于1,那么b的id值和a的相同,均指向了同一块内存地址。
    直接把值存在变量的存储区里称之为值语义。

    不可变对象是创建之后 再进行除读取之外的操作改变内存地址
    可变对象:创建之后,可以改变内存地址。

    数组:长度是固定的
    数组里的元素类型是一样的

    数字是怎样存储的?

    一个整数32位系统里 占4个字节 
    32根线:最大2**32次方-1,最小-2**32次方

    4*1024*1024*1024
    一个格子是一个字节
    32位系统只能支持4个G的内存。

    64位系统:2**64位-1

    深度优先用栈:一条道走到黑
    广度优先用队列:几个方向都看着,

  • 相关阅读:
    NABC的特点分析
    梦断代码读后感(三)
    大道至简-“(我) 能不能学会写程序”
    课堂练习-找水王续
    找1
    课堂练习-找水王
    课堂练习-电梯调度
    课堂练习——计算法能够计算出读者购买一批书的最低价格。
    团队项目—二手书店特色
    梦断代码阅读笔记三
  • 原文地址:https://www.cnblogs.com/xyhh/p/10855329.html
Copyright © 2011-2022 走看看