Skip to main content

Simple Data Structures Library

Project description

Cache ============

    The idea of caching items for fast retrieval goes back nearly to the beginning of the computer science. We also use that idea and use a LRU cache for storing morphological analyses of surface forms. Before analyzing a surface form, we first look up to the cache, and if there is an hit, we just take the analyses from the cache. If there is a miss, we analyze the surface form and put the morphological analyses of that surface form in the LRU cache. As can be expected, the speed of the caching mechanism surely depends on the size of the cache.
    
    For Developers
    ============
    You can also see [Python](https://github.com/starlangsoftware/DataStructure-Py), [Java](https://github.com/starlangsoftware/DataStructure), [C](https://github.com/starlangsoftware/DataStructure-C), [C++](https://github.com/starlangsoftware/DataStructure-CPP), [Swift](https://github.com/starlangsoftware/DataStructure-Swift), [Php](https://github.com/starlangsoftware/DataStructure-Php), [Js](https://github.com/starlangsoftware/DataStructure-Js), or [C#](https://github.com/starlangsoftware/DataStructure-CS) repository.
    
    ## Requirements
    
    * [Python 3.7 or higher](#python)
    * [Git](#git)
    
    ### Python 
    
    To check if you have a compatible version of Python installed, use the following command:
    
        python -V
        
    You can find the latest version of Python [here](https://www.python.org/downloads/).
    
    ### Git
    
    Install the [latest version of Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
    
    ## Pip Install
    
    	pip3 install NlpToolkit-DataStructure-Cy
    
    ## Download Code
    
    In order to work on code, create a fork from GitHub page. 
    Use Git for cloning the code to your local or below line for Ubuntu:
    
    	git clone <your-fork-git-link>
    
    A directory called DataStructure will be created. Or you can use below link for exploring the code:
    
    	git clone https://github.com/starlangsoftware/DataStructure-Cy.git
    
    ## Open project with Pycharm IDE
    
    Steps for opening the cloned project:
    
    * Start IDE
    * Select **File | Open** from main menu
    * Choose `DataStructure-CY` file
    * Select open as project option
    * Couple of seconds, dependencies will be downloaded. 
    
    For Developers
    ============
    
    + [CounterHashMap](#counterhashmap)
    + [LRUCache](#lrucache)
    
    ## CounterHashMap
    
    CounterHashMap bir veri tipinin kaç kere geçtiğini hafızada tutmak için kullanılmaktadır.
    
    Bir CounterHashMap yaratmak için
    
    	a = CounterHashMap()
    
    Hafızaya veri eklemek için
    
    	put(self, key: object)
    
    Örneğin,
    
    	a.put("ali");
    
    Bu aşamanın ardından "ali" nin sayacı 1 olur.
    
    Hafızaya o veriyi birden fazla kez eklemek için
    
    	putNTimes(self, key: object, N: int)
    
    Örneğin,
    
    	a.putNTimes("veli", 5)
    
    Bu aşamanın ardından "ali"'nin sayacı 5 olur.
    
    Hafızada o verinin kaç kere geçtiğini bulmak için
    
    	count(self, key: object) -> int
    
    Örneğin, "veli" nin kaç kere geçtiğini bulmak için
    
    	kacKere = a.count("veli")
    
    Bu aşamanın ardından kacKere değişkeninin değeri 5 olur.
    
    Hafızada hangi verinin en çok geçtiğini bulmak için
    
    	max(self) -> object
    
    Örneğin,
    
    	kelime = a.max()
    
    Bu aşamanın ardından kelime "veli" olur.
    
    ## LRUCache
    
    LRUCache veri cachelemek için kullanılan bir veri yapısıdır. LRUCache en yakın zamanda 
    kullanılan verileri öncelikli olarak hafızada tutar. Bir LRUCache yaratmak için
    
    	LRUCache(self, cacheSize: int)
    
    kullanılır. cacheSize burada cachelenecek verinin büyüklüğünün limitini göstermektedir.
    
    Cache'e bir veri eklemek için
    
    	add(self, key: object, data: object)
    
    kullanılır. data burada eklenecek veriyi, key anahtar göstergeyi göstermektedir.
    
    Cache'de bir veri var mı diye kontrol etmek için
    
    	contains(self, key: object) -> bool
    
    kullanılır.
    
    Cache'deki veriyi anahtarına göre getirmek için
    
    	get(self, key: object) -> object
    
    kullanılır.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nlptoolkit_datastructure_cy-1.0.15.tar.gz (855.4 kB view details)

Uploaded Source

File details

Details for the file nlptoolkit_datastructure_cy-1.0.15.tar.gz.

File metadata

File hashes

Hashes for nlptoolkit_datastructure_cy-1.0.15.tar.gz
Algorithm Hash digest
SHA256 23698057f18eef863ddf67524b8552b24436b33c54509a9bd069ad021e9b7a22
MD5 cbb479cc3ca71af1ab9d35162f9c037e
BLAKE2b-256 e26052c95c3c599b51d914eb19c6bb2e9cf5ee8b1b930d94c501657587bc4320

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page