码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【408篇】C语言笔记-第九章(数据结构概述)


    文章目录

      • 第一节:逻辑结构与存储结构
        • 1. 逻辑结构
        • 2. 存储结构
          • 1. 顺序存储
          • 2. 链式存储
          • 3. 顺序存储与链式存储分析
      • 第二节:算法的评价(时间复杂度与空间复杂度)
        • 1. 算法定义
        • 2. 时间复杂度
        • 3. 空间复杂度

    第一节:逻辑结构与存储结构

    两者对比

    1. 逻辑结构

    2. 存储结构

    说明:存储结构有四种,但是最终的存储方式只有顺序存储和链式存储两种。

    1. 顺序存储

    int array[6]={1,2,3,4,5,6};  // 定义数组并初始化
    printf{"%d\n",array[3]};   // 随机访问第4个元素
    
    • 1
    • 2

    说明:地址相当于指针取值。下标相当于随机访问。

    2. 链式存储

    说明:前一个节点存放下一节点的指针。

    // 仅做示例,无法运行
    Typdef struct Lnode{
        ElemType data;
        struct Lnode *next;
    }Lnode,*LinkList;
    Lnode *L;
    L=(LinkList)malloc(sizeof(Lnode));
    A->next=B;B->next=C;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    3. 顺序存储与链式存储分析

    第二节:算法的评价(时间复杂度与空间复杂度)

    1. 算法定义

    算法定义是对特定问题求解步骤的描述。

    一个基本算法包括:有穷、确定、可行、输入、输出。

    2. 时间复杂度

    时间复杂度是指算法中所有语句的频度(执行次数)之和。记为:

    T(n)=O(f(n))

    其中,n是问题的规模;f(n)是问题规模n的某个函数。

    随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同(正相关)。

    常见的时间复杂度:

    最高阶数越小,说明算法的时间性能越好。

    例题:

    时间复杂度计算忽略高阶项系数和低阶项。

    思考:如果一个算法的执行次数为3n^3+5n,那么该算法的时间复杂度是多少?

    答案是O(n3),因为忽略了高阶项系数3,和低阶项5n,剩余n3。

    3. 空间复杂度

    空间复杂度S(n)指算法运行过程中所使用的辅助空间的大小。记为:

    S(n)=O(f(n))

    • 除了需要存储算法本身的指令、常数、变量和输入数据外,还需要存储对数据操作的存储单元。

    • 若输入数据所占空间只取决于问题本身,和算法无关,这样只需分析该算法在实现时所需的辅助单元即可。

    • 算法原地工作是指算法所需的辅助空间是常量,即O(1)。

  • 相关阅读:
    Excel-VBA 快速上手(十、提示框、可输入的弹出框)
    《龙湖地产》企业门户网站前端设计(Html,CSS,JavaScript,jQuery)
    如何在Mysql取出来的结果中取最大值
    jvm server和client模式切换
    HTML+CSS静态网页设计:(房地产网站设计与实现6页)
    第七章第三节:散列表(Hash Table)
    axios 请求拦截器&响应拦截器与router的导航守卫
    C++:模板(初级)
    SSM 注解配置方式整合
    使用Python和BeautifulSoup提取网页数据的实用技巧
  • 原文地址:https://blog.csdn.net/weixin_45842494/article/details/128124527
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号