zoukankan      html  css  js  c++  java
  • 第十至十二章 算法分析--高阶数据结构

    1.贪婪算法的第二个应用为 哈夫曼编码 来进行文件压缩。 文件压缩的主要问题是给文件中的所有字符分配能唯一识别的编码(n个比特),如果我们事先知道所有字符出现的频率,把频率最高的放在最上层,频率低的放在左侧最下层,这就是最优编码。

    2.编码树,所有字符都放在叶节点上,往左走的每条路径代表0,往右走的每条路径代表1,这种数据结构有时候叫做trie树,节点的深度既是需要的比特位数。这种树是满树:所有的节点要么是树叶,要么有两个儿子。一种最优的编码将总是具有这个性质。并且这样的编码既是前缀码。

    3.红黑树

    (1)红黑树是AVL树(自平衡二叉搜索树)的变种,其各种操作在最坏情形下花费O(logN)时间;

    (2)红黑树性质:1.根是黑色的 2. 红色节点的子节点必须是黑色的 3.一个节点到一个null 引用的每条路径必须包含相同数目的黑色节点。

    (3)自底向上的插入:1.新插入的项的父节点是黑色的,则插入完成

              2.如果插入节点的父节点是红色的:

              2.1父节点的兄弟节点是黑色的,可以通过单旋转或者双旋转。

              2.2父节点的兄弟也是红色的,需要通过上虑操作解决。

    (4)自顶向下红黑树:可以提前对红黑树进行自顶向下的过程,从而保证父节点的兄弟不为红色。

     4.后缀数组与后缀树

    (1)数据处理中最基础的问题之一是从文本T中找到一段模式P所在的位置,并回答下列问题:a.存在能匹配P的T的子串吗  b.P在T中出现了多少次,及位置。c.一般的问题,T是固定,针对不同的P有频繁的请求。为了达到这些目的,我们一般会将T预处理成一种特殊的数据结构即后缀数组或后缀树。

    (2)后缀数组:文本T的后缀数组实际上就是T的所有后缀进行有序排列所组成的一个数组。  模式P如果在文本中,则P一定是某个后缀的前缀,那么可以通过折半查找,以O(logT)

    的时间找到。同时计算相邻后缀的最大公共前缀的话,则每次找P出现的次数为O(P+ logT)

    (3)后缀数组的Java实现

     //compute the longest share string prefix
    public static int computaLCP(String s1,String s2){
    int i=0;
    while(i<s1.length()&&i<s2.length()&&s1.charAt(i)==s2.charAt(i)){
    i++;
    }
    return i;
    }

    public static void createSuffixArray(String str,int[] SA,int[] LCP){
    if(SA.length!=str.length()||LCP.length!=str.length())
    throw new IllegalArgumentException();

    int N = str.length();

    String[] suffiesx = new String[N];
    for (int i = 0; i < N; i++) {
    suffiesx[i] = str.substring(i);
    }
    Arrays.sort(suffiesx);

    for (int i = 0; i < N; i++) {
    SA[i] = N-suffiesx[i].length();
    }

    LCP[0] = 0;
    for (int i = 1; i < N; i++) {
    LCP[i] = computaLCP(suffiesx[i],suffiesx[i-1]);
    }

    }

    三年程序员,专注语音文本分析、大数据挖掘、预训练模型及知识图谱相关技术的探索
  • 相关阅读:
    (数据集)Quality of Web Service (QWS) Datasets
    [扫盲] Salesforce.com: 业界云计算(Cloud Computing)的主要倡导者之一
    Major conference/journal for Web Service [updating]
    ICWS 2009 Accepted Research Paper List (63篇)
    [论文笔记]Web服务集成的策略规划 (CIMS 2008)
    [论文笔记]Global and Local QoS Guarantee in Web Service Selection (BPM 2005)
    [论文笔记](东北大学)基于组合服务执行信息的服务选取方法研究(计算机学报, 2008)
    WWW2009相关论文
    [文章笔记]Web Service Discovery and Client Goals(Computers, 2009)
    [论文笔记](东北大学)支持组合服务选取的QoS模型及优化求解(计算机学报06)
  • 原文地址:https://www.cnblogs.com/jetHu/p/7846542.html
Copyright © 2011-2022 走看看