数据结构与算法之字典

Posted simpul

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法之字典相关的知识,希望对你有一定的参考价值。

字典

基于Array类构造一个字典类用于储存键值对(之前一直不知道JS的Array原来可以存储键值对,第一次看到简直惊呆了)

暂时看到的内容挺简单的,不明白这个的存在意义是什么,感觉还不如直接用JSON来得直接。
直接上代码不解释。

//定义字典类
function Dictionary()
    this.datastore = new Array();

Dictionary.prototype = 
    constructor: Dictionary,
    add(key, value)
        this.datastore[key] = value;
    ,
    find(key)
        return this.datastore[key];
    ,
    remove(key)
        delete this.datastore[key];
    ,
    showAll()
        for(var key of Object.keys(this.datastore).sort())
            console.log(key + " : " + this.datastore[key]);
        
    ,
    //由于Array在存储键值对时,length属性失真(==0),因此需要重新定义一个函数计算元素个数
    count()
        return Object.keys(this.datastore).length;
    ,
    clear()
        for(var key of Object.keys(this.datastore))
            delete this.datastore[key];
        
    

以上是关于数据结构与算法之字典的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之深入解析“长度为n的开心字符串中字典序第k小的字符串”的求解思路与算法示例

数据结构与算法之深入解析“下一个排列”的求解思路与算法示例

Elasticsearch之数据压缩算法

数据结构与算法之深入解析“单词接龙”的求解思路与算法示例

数据结构与算法之深入解析“重新安排行程”的求解思路与算法示例

数据结构与算法之深入解析“删列造序II”的求解思路与算法示例