• 数据结构与算法之--基本概念


    数据结构和算法各是指什么?作用是什么? 具体有哪些数据结构,又有哪些算法?

      数据结构是数据在计算机内存或者外存中的组织方式,算法就是计算机操作数据结构中数据的方式方法,比如查找、排序。

    很少有数据结构是为了节省存储空间的,数据结构和算法的常见目的都集中与提高数据操作的速度上。

    常见数据结构有:数组(Arrays),链表(Linked List),栈(Stack),队列(Queue),二叉树(Binary Tree),哈希表(Hash Table),图(Graph)等,

    常见算法:查找,排序。

    算法性能的评价方式:时间复杂度与空间复杂度、大O表示法

      算法的时间复杂度和空间复杂度分别表示,随着数据量N的增加,算法需要的时间和存储空间开销的增长趋势。

    大O表示法是为了量化这种复杂度的增长趋势,从而方便地区分算法的性能。关于大O表示法,让我联想起,

    在高等数学中,同阶无穷小的含义,具体是这样的:

      若当自变量x->0(或者无穷)时,函数f(x)和g(x):f(x)/g(x)=Constant。

    类似的,在算法复杂度的评价上,若有一数据集,其数据量N->无穷时,两种算法的时间复杂度AF(N)/AG(N)=Constant,

    就说两种算法在时间开销的增长趋势是同阶的,记为:AF=O(AG)。

    常见的算法复杂度有:

    O(1), O(logN), O(N), O(N*logN), O(N^2), O(2^N)等,一个比一个高阶。

  • 相关阅读:
    7.29随堂笔记
    LeetCode77. 组合
    347. 前 K 个高频元素
    LeetCode239. 滑动窗口最大值
    C++_数字字符串互相转换
    LeetCode150. 逆波兰表达式求值
    LeetCode1047. 删除字符串中的所有相邻重复项
    LeetCode20. 有效的括号
    Leetcode225. 用队列实现栈 && LeetCode232. 用栈实现队列
    leetCode5663. 找出第 K 大的异或坐标值
  • 原文地址:https://www.cnblogs.com/tlz888/p/7137235.html
Copyright © 2020-2023  润新知