zoukankan      html  css  js  c++  java
  • 数据结构笔记

    1、  =============《大话数据结构》==========

    1、  经典的《设计模式》一书归纳出23种设计模式,这23种模式又可归为,创建型、结构型和行为型3大类

    2、  时间耗时排序(时间复杂度)

    F(1)<F(logn)<F(n)<F(nlogn)<F(n2)<F(n3)<F(2n)<F(n!)<F(nn)

    3、  深度优先和广度优先在时间复杂度上是一样的

    4、  多个关键字的排序都可以转换成单个关键字的排序

    5、  稳定排序:选(择)冒(泡)插(入)归(并)

    8章查找好像还没看

    def part(data,low,hight):
        temp=data[low]
        while (low<hight):# 要一直找到temp的位置才可以停止循环
            while (low<hight and data[hight]>=temp):
                hight=hight-1
            data[low] = data[hight]  #去掉不必要的交换
            while (low<hight and data[low]<=temp):
                low=low+1
            data[hight] = data[low]
        data[low]=temp
        return low
    
    def part2(data,low,hight):
        temp=data[low]
        while (low<hight):
            while (low<hight and data[hight]>=temp):
                hight=hight-1
            data[low],data[hight] = data[hight],data[low]
            while (low<hight and data[low]<=temp):
                low=low+1
            data[low],data[hight] = data[hight],data[low]
        return low
    
    def quicksort(data,low,hight):
        if low<hight:
            mid=part(data,low,hight)
            quicksort(data,low,mid-1)
            quicksort(data,mid+1,hight)
    
    dai=[2,3,4,3,33,22,56,8,99,76,56,88]
    def entray(dai):
        hight=len(dai)
        quicksort(dai,0,hight-1)
    
    entray(dai)
    print(dai)

     可以把一个二叉树的任何子节点当成二叉树本身

    二叉堆(完全树)可以用一个列表来实现。若节点在列表中的位置是p,那么起左节点位于2p,右节点位于2p+1

  • 相关阅读:
    effective c++ 笔记 (30-31)
    设计模式 笔记 装饰模式 Decorator
    设计模式 笔记 组合模式 Composite
    设计模式 笔记 外观模式 Facade
    effective c++ 笔记 (26-29)
    设计模式 笔记 桥接模式 Bridge
    设计模式 笔记 适配器模式 Adapter
    算法导论 第二章作业
    设计模式 创建型模式实践
    设计模式 笔记 单例模式 Singleton
  • 原文地址:https://www.cnblogs.com/testzcy/p/6821035.html
Copyright © 2011-2022 走看看