• Data Structure & Algorithm


    2017-11-28 20:23:50

    数据结构与算法

    一 常见的数据类型分为两大类:

    1. 基本数据类型, 系统定义的数据类型:char,  int, float, double. boolean

    int  【 以 64 位的 为例: 2^(-15)  -- 2 ^ (15) -1 】

    2. 用户自定义数据类型:如 Java  中的类,c/c++ 中的 struct

    二 常见的数据结构分两种类型

    1. 线性数据结构:可以按线性次序访问元素,但并不强制将所有元素连续地存储在一起,如链表,栈和队列。

    2. 非线性数据结构:这种数据结构的元素是以非线性次序来存储和访问。如树和图。

    三 抽象数据类型的定义 ADT 

    1. 数据的声明

    2. 运算的声明

    四 运行时间分析

    当问题的规模(输入规模)增大时, 它研究问题的处理时间是如何增加的。输入规模是指输入元素的个数。

    常用的输入类型:

    • 数组的大小
    • 多项式的次数
    • 矩阵中元素的个数
    • 用二进制数表示的输入的位数
    • 图中的顶点和边

    五 常用的增长率

    增长率是指随着输入规模的增加,算法运行时间增加的速度,它是输入规模的函数。

    时间复杂度 名称 实例 时间复杂度 名称 实例
    1 常数 在链表的前端增加一个元素 n ^ 2 平方 求图中两个顶点之间的最短距离
    log n 对数 在有序数组中查找一个元素 n ^ 3 立方 矩阵乘法
    n 线性 在无序数组中查找一个元素 2 ^ n 指数 汉罗塔问题的求解
    n log n 线性对数 通过分治--归并排序 n个元素      
  • 相关阅读:
    反射机制(java)
    浅拷贝和深拷贝(java)
    注解(annotation)
    Oracle函数使用
    安装scikit-learn
    connection String加密
    [阿里移动推荐算法]比赛_快速入门_4_19_update_仅供参考,思维不要受局限
    阿里大数据竞赛非官方指南第三弹-- LR入门
    文本特征提取方法研究
    [新浪微博互动预测大赛]来自内部赛冠军的问候,教你破40啦!
  • 原文地址:https://www.cnblogs.com/masterSoul/p/7912144.html
Copyright © 2020-2023  润新知