当前位置: 首页 > article >正文

数据结构(一)——顺序表和单向链表(一对一)

数据结构:

1.衡量一个程序是否优秀:
    1.时间复杂度:
        数据量增长与程序运行时间的比例关系以函数描述称为时间渐进复杂度函数,简称时间复杂度
        O(c) > O(logn) > O(n) > O(nlogn) > O(n^2) > O(n^3) > O(2^n)
    2.空间复杂度:
        数据量增长与程序所占用空间的比例关系称为空间复杂度

2.数据结构:
    数据之间的关系 
        逻辑结构:
            1. 线性结构
                一对一 表
            2. 非线性结构
                一对多 树 
                多对多 图
        
        存储结构:
            1. 顺序存储结构
            2. 链式存储结构
            3. 离散存储
            4. 索引存储

3.程序:
    程序 = 数据结构 + 算法

4.数据结构: 
    顺序表
    链式表
    顺序栈
    链式栈
    顺序队列
    链式队列 
    树 
    二叉树
    常见的排序查找算法

    安装内存泄露检测工具:
    sudo apt-get install valgrind

    检测方法:
    valgrind --tool=memcheck --leak-check=full ./a.out

5.顺序表:

6.链表:
    1.空间可以不连续,访问元素不方便
    2.链表需要更大的空间存放数据和节点地址
    3.链表空间不连续,使得理论上长度是无限的
    4.链表的插入和删除效率很高

    链表的分类:
        1.单向链表
        2.双向链表
        3.循环链表
        4.内核链表

    1.单向链表  
        


http://www.kler.cn/a/281493.html

相关文章:

  • HC32 华大DMA 传输
  • redis的紧凑列表ziplist、quicklist、listpack
  • Oracle(ORA-00210、ORA-00202)控制文件错误
  • C++:new
  • day_57
  • 【K8s】专题十二(3):Kubernetes 存储之 PersistentVolumeClaim
  • SQL的化身术:使用AS为列或表指定别名
  • Gerapy 分布式爬虫管理框架
  • 智能听诊器:宠物健康的科技守护者
  • SpringMVC基于注解使用:响应处理
  • [Unity] StateMachineBehaviour简单调用MonoBehaviour的方法
  • SSM课程资源库APP—计算机毕业设计源码23834
  • ES6笔记总结(Xmind格式):第三天
  • 微服务入门
  • Spring Cloud + JWT实现双Token刷新
  • 如何查看 Kubernetes 的操作审计日志?
  • 力扣(用最少数量的箭引爆气球)
  • Linux启动流程
  • SYSLOG消息格式RFC5424(RFC3164已废弃)
  • 使用 LeakCanary 检测内存泄漏的完整指南