zoukankan      html  css  js  c++  java
  • 基本数据结构

    STACK-EMPTY(S)
     if S.top == 0
        return TRUE
     else return FALSE
     
     PUSH(S,x)
        S.top = S.top + 1
        S[S.top] = x
        
    POP(S)
     if STACK-EMPTY(S)
        error "underflow"
     else S.top = S.top -1
        return S[S.top+1]

    队列
    INSERT, ENQUEUE
    DELETE, DEQUEUE

    ENQUEUE(Q,x)
     Q[Q.tail]=x
    if Q.tail == Q.length
        Q.tail = 1
    else Q.tail = Q.tail + 1

    DEQUEUE(Q.x)
    x = Q[Q.head]
    if (Q.head == Q.length)
        Q.head = 1
    else Q.head = Q.head + 1
    return x

    链表,双向链表,单向链表,循环链表
    LIST-SEARCH(L,k)
     x = L.head
     while x != NULL and x.key != k
        x = x.next
    return x

    LIST-INSERT(L,x)
     x.next = L.head
     if L.head != NIL
        L.head.prev = x
      L.head = x
      x.prev = NIL
     
    LIST-DELETE(L,x)
        if x.prev != NIL
            x.prev.next = x.next
        else L.head = x.next
        if x.next != NIL
            x.next.prev = x.prev
            
    哨兵
    LIST-SEARCH(L, k)
     x = L.nil.next
     while x != L.nil and x.key != k
        x = x.next
     return x
     
    LIST-INSERT(L,x)
     x.next = L.nil.next
     L.nil.next.prev = x
     L.nil.next = x
     x.prev = L.nil
     
    指针和对象实现

    对象和多数组表示
     

    对象和单数组表示

    对象的分配与释放

     假设多数组表示法中的个数组长度为m, 某一时刻动态集合中含有n<=m个元素。则n个对象代表现存于动态
    集合中的元素,而余下的m-n个对象是自由的,这些自由对象可以用来表示要插入该动态集合的元素

    自由表
    ALLOCATE-OBJECT()
    if free = NIL
        error "out of space"
    else x = free
        free = free.next
        return x

    FREE-OBJECT(x)
    x.next = free
    free = x

    多链表多数组表示法



  • 相关阅读:
    Mysql数据操作指令
    Mysql列属性
    Mysql表的对应关系
    Mysql中的一些类型
    Mysql笔记
    (三) rest_framework 权限与限流源码梳理
    (二) rest_framework 认证源码流程与配置
    (一) rest_framework 视图入口
    django_celery_beat
    GRPC
  • 原文地址:https://www.cnblogs.com/zhoug2020/p/6227521.html
Copyright © 2011-2022 走看看