zoukankan      html  css  js  c++  java
  • 平衡三叉Trie树

    TernarySearchTrie如果加载的词典是平衡的,将大幅缩短检索路径
    这里给出一个c#的实现的生成平衡索引的代码
    public class BinaryIndexList
        {
            private static List<int> source = null;
    
            private static List<int> result = null;
    
            public static List<int> CreateIndex(int length)
            {
                result = new List<int>();
                source=Enumerable.Range(0, length).ToList();
                Iterate(source);
                return result;
            }
    
            private static void Iterate(List<int> block)
            {
                int len = block.Count();
                int mid = len / 2;
                int val = block[mid];
                result.Add(val);
    
                int count_left = mid - 0;
                if (count_left > 0)
                {
                    List<int> block_left = block.Take(count_left).ToList();
                    Iterate(block_left);
                }
    
                int count_right = len - mid - 1;
                if (count_right > 0)
                {
                    List<int> block_right = block.Skip(mid + 1).ToList();
                    Iterate(block_right);
                }
            }
        }
  • 相关阅读:
    http
    node 学习 http
    socket.io
    每日日报
    每日日报
    每日日报
    06人件读书笔记之一
    每日日报
    每日日报
    05程序员修炼之道:从小工到专家阅读笔记之三
  • 原文地址:https://www.cnblogs.com/i80386/p/2493485.html
Copyright © 2011-2022 走看看