• 数据结构学习


    什么是数据结构

    官方:
    数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
    我的理解:
    程序设计 = 数据结构 + 算法
    数据结构分为逻辑结构和物理结构。

    逻辑结构

    逻辑关系是指数据元素之间的前后关系,而与他们在计算机中的存储位置无关

    1. 集合结构
      集合结构中的数据元素同属于一个集合,他们之间是并列的关系,除此之外没有其他关系。
    2. 线性结构
      线性结构中的元素存在一对一的相互关系
    3. 树形结构
      树形结构中的元素存在一对多的相互关系
    4. 图形结构
      图形结构中的元素存在多对多的相互关系

    物理结构

    物理结构研究的是数据在存储器中存放的形式。 存储器主要针对于内存而言,
    数据在内存中的存储结构,也就是物理结构,分为两种:顺序存储结构和链式存储结构。

    1. 顺序存储结构
      数组就是顺序存储结构的典型代表
      顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
    2. 链式存储结构
      链式存储结构的数据元素之间是通过指针来连接的
      可以通使用指针来找到某个数据元素的位置,然后对这个数据元素进行一些操作

    算法

    算法代表着用系统的方法描述解决问题的策略机制。

    算法具有五个基本特征:输入、输出、有穷性、确定性和可行性。

    算法的设计要求

    要设计一个好的算法,需要考虑以下4个特性(其实多半是废话)。

    1. 正确性
      废话,谁会设计一个不能够解决问题的方法。
    2. 可读性
      指算法无论是从设计思路上,还是从注释方面,都要能够保证算法是可读的,也就是可以被其他人员能够读懂的。其实也是废话,这是一个优秀的程序员必备的。
    3. 健壮性
      通俗的讲,一个好的算法应该具有捕获异常/处理异常的能力。另外,对于测试人员的压力测试、边界值测试等刁难的测试手段,算法应该能够轻松的扛过去。
    4. 时间效率高和存储量低
  • 相关阅读:
    [转] KVM I/O slowness on RHEL 6
    QEMU KVM libvirt 手册(3)
    QEMU KVM libvirt手册(2): monitor
    QEMU KVM libvirt 手册(1): 安装
    CentOS7下JSP连接Mysql
    使用Tomcat搭建基于域名的虚拟机
    CentOS7下搭建Tomcat服务器
    Nginx在线服务状态下平滑升级或新增模块
    源码安装LNMP
    二进制包安装Mysql
  • 原文地址:https://www.cnblogs.com/rechen/p/5267662.html
Copyright © 2020-2023  润新知