zoukankan      html  css  js  c++  java
  • 软考笔记第六天之数据结构与算法基础(一)

    数组

    数组类型 存储地址计算
    一维数组a[n] a[i]的存储地址是:a+i*len
    二维数组a[n][m]

    a[i][j]的存储地址是:

    按行存储:a+(i*m+j)*len

    按列存储:a+(j*n+i)*len

     

     

     

     

     

    例:已知5行5列的二维数组a中的各元素占2个字节,求元素a[2][3]按行优先存储的存储地址?

    a+(2*5+3)*2=a+26

    稀疏矩阵

     

    数据结构:

    数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

    通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往和高效的检索算法和索引技术有关。

    数据逻辑结构:

    线性结构,非线性结构(树,图[有环路])

     

     

    树:

    二叉树遍历

    前序遍历(根,左,右)

    中序遍历(左,根,右)

    后序遍历(左,右,根)

    层次遍历(第一层,第二层...)

    前序遍历:1,2,4,5,7,8,3,6

    中序遍历:4,2,7,8,5,1,3,6

    后序遍历:4,8,7,5,2,6,3,1

    层次遍历:1,2,3,4,5,6,7,8

    反向构造二叉树(已知两种序列,画出二叉树)

    普通树转二叉树(孩子结点-左子树结点,兄弟结点-右孩子结点)

    查找二叉树

    二叉排序树(左孩子小于根,右孩子大于根)

     最优二叉树(哈夫曼树)

    构造最短的带权路径的树

    线索二叉树:

    使遍历更加快捷

    绿线指向前驱结点,红线指向后驱结点

    平衡二叉树

     

     

  • 相关阅读:
    iOS NSDictionary或NSArray与JSON字符串相互转换
    iOS 如何用Xib画一个Button
    iOS 你不知道的字符串用法
    IOS ScrollView pagingEnabled移动指定偏移
    TableView行缩进 自定义cell时候
    支付宝回调
    微信支付回调
    关于Bundle传递消息
    关于Handler
    ExpandableListView
  • 原文地址:https://www.cnblogs.com/pushudepu/p/5955351.html
Copyright © 2011-2022 走看看