Skip to main content

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.

Metadata

Release files for nlptoolkit-datastructure-cy 1.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nlptoolkit-datastructure-cy 1.0.15
File Size Uploaded
nlptoolkit_datastructure_cy-1.0.15.tar.gz 855.4 kB Details

Release files / nlptoolkit_datastructure_cy-1.0.15.tar.gz

Download URL nlptoolkit_datastructure_cy-1.0.15.tar.gz
Size 855.4 kB
Tags Source
SHA-256 checksum
How to use checksums
23698057f18eef863ddf67524b8552b24436b33c54509a9bd069ad021e9b7a22
BLAKE2b-256 checksum
How to use checksums
e26052c95c3c599b51d914eb19c6bb2e9cf5ee8b1b930d94c501657587bc4320
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.0

Release history Release notifications | RSS feed

This release

1.0.15 This release

1 release file

1.0.14

1 release file

1.0.13

1 release file

1.0.12

1 release file

1.0.11

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page