zoukankan      html  css  js  c++  java
  • 数据结构和算法大纲

    1. 算法的评价指标
      1. 什么是数据结构?
        1. 数据+关系
      2. 数据逻辑结构(关系)
        1. 集合
        2. 线性结构
        3. 树结构
        4. 图结构或网状结构
      3. 存储结构
        1. 顺序存储结构
        2. 链式存储结构
        3. 索引存储方法
        4. 散列存储方法
      4. 数据类型
        1. 原子类型
          • string
          • bool
          • int
          • ......
        2. 结构类型
          • 结构体
      5. 算法的时间复杂度
        1. T(n)=O(f(n))
      6. 算法的空间复杂度
        1. S(n)=O(f(n))
          • 算法本身占用的空间
          • 算法运行时占用的空间
          • 算法运行时临时占用的空间
    2. 线性表
      1. 顺序表(数组Array,动态数组ArrayList)
        1. Array必须在声明的时候指定类型和容量
        2. ArrayList,动态数组,Array扩展而来,申明时不需要指定类型和容量,里面存储的是Object类型,使用是包含装箱和拆箱操作
      2. 链表(单向,双向,循环)
        1. List使用泛型,声明时指定类型:List<T>
      3. 类型安全
      4. 探讨.net Framwork底层线性表的实现方式
        1. 趣味算法:面积问题
        2. 约瑟夫算法
    3. 栈和队列
      1. 队列的基本用法
      2. 分析微软底层队列和栈的实现方法
        1. 趣味算法:返回不重复数的实现
      1. String的基本用法
        1. 具有值类型模式的引用类型
      2. SringBulder
        1. 解决字符串拼接的一种比较好的方式
      3. 串模式匹配
        1. Brute-Force算法
        2. KMP算法
        3. 对KMP算法改进、优化
      1. 二叉树的基本概念
        1. 二叉树的存储结构
        2. 二叉树的遍历
          1. 深度优先遍历
          2. 广度优先遍历
      2. 线索二叉树
        1. 线索二叉树的实现
        2. 中序线索二叉树
      3. 树和深林
        1. 树的存储结构
        2. 树、深林、二叉树的转换
      4. 二叉树的画法(程序实现)
      5. 趣味算法:魔术师的秘密
      1. 图的表示
      2. 图的存储结构
        1. 邻接矩阵表示法
        2. 邻接表表示法
      3. 图的遍历
        1. 深度优先
        2. 广度优先
      4. 最小生成树
        1. 普里姆算法
        2. 克鲁斯卡尔算法
      5. 弗洛伊德算法
      6. 总结
      7. 迷宫算法(打造自己的迷宫)
    4. 排序
      1. 冒泡排序与快速排序
      2. 直接插入排序和希尔排序
      3. 堆排序
      4. 归并排序
      5. 各种排序比较
      6. 二分查找
    5. 一些常见的算法
  • 相关阅读:
    linux 学习笔记 groupadd创建组
    linux学习笔记 4建立用户
    Linux学习笔记 3 权限篇
    Linux学习笔记 1 环境变量 2 vi命令
    指针 以及取地址
    练习题
    weblogic domain creation
    hibernate log4j 输出sql
    练习九 组函数应用
    练习八 spool导出
  • 原文地址:https://www.cnblogs.com/yanglang/p/6674247.html
Copyright © 2011-2022 走看看