www.amapro.cz [PHP práce s řetězci]

Otevře webové stránky AmaPro




Otevře hlavní stránku společnosti AmaPro
Internetové stránky určené pro studenty středních a vysokých odborných škol.


amapro.cz/odkazy Projekt eliminuje vyhledávání klíčových slov na komerčních stránkách a v e-schopech.



Nový projekt AmaPro
Zobrazit předchozí stránku knihy Zobrazit obsah knihy Přejít na následující stranu knihy Informace o chování řetězců v programování PHP


levenshtein

levenshtein


int levenshtein ( string str1, string str2)

int levenshtein ( string str1, string str2, int cost_ins, int cost_rep, int cost_del)

int levenshtein ( string str1, string str2, function cost)


Tato funkce vrací XXX Levenshtein-Distance mezi předanými řetězci nebo -1, pokud délka jednoho z předaných řetězců přesáhne omezení 255 znaků (255 by mělo být pro běžná porovnání víc než dost, a nikdo se zdravým rozumem nebude v PHP dělat genetickou analýzu).

Levenshteinova vzdálenost se definuje jako minimální počet znaku, které musíte nahradit, vložit nebo smazat, abyste změnili str1 na str2. Složitost tohoto algoritmu je O(m*n), kde n a m jsou délky str1 a str2 (celkem slušné v porovnání se similar_text(), který je O(max(n,m)**3), ale i tak drahé).

Ve své nejjednodušší podobě tato funkce pouze vezme dva řetězce jako argumenty a spočítá počet vložení, nahrazení a smazání nutných k transformaci str1 na str2.

Druhá varianta přijme tři další argumenty, které definují náklady na operace vložení, nahrazeni a smazání. Tato varianta je všeobecnější a přizpůsobivější než varianta první, ale ne tak výkonná.

Třetí varianta (zatím neimplementovaná) bude nejvšeobecnější a nejpřizpůsobivější, ale také nejpomalejší alternativou. Bude volat uživatelskou funkci, která určí náklady na všechny možné operace.

Tato uživatelská funkce se bude volat s následujícími argumenty:


operatce, která se má provést: 'I', 'R' or 'D'

původní znak v řetězci 1

původní znak v řetězci 2

pozice v řetězci 1

pozice v řetězci 2

znaky zbývající v řetězci 1

znaky zbývající v řetězci 2

Tato uživatelská funkce musí vrátit kladné celé číslo vyčíslující náklady na tuto konkrétní operaci, ale může se rozhodnout použít pouze některé z přijatých argumentů.

Tento přístup nabízí možnost zohlednit důležitost určitých symbolů (znaků) a/nebo rozdíly mezi nimi, či dokonce kontext, ve kterém se vyskytují při určování nákladů na vložení, změnu nebo smazání, ale za cenu ztráty všech optimalizací využití CPU registru a XXX cache misses, které byly zapracovány do předchozích dvou variant.




Fulltextový vyhledávač AmaPro



Objektové programování c++
Jazyk C, Objektové programování c++
internet/katalog_programovani_c
Procesory a mikroprocesory
Obecný úvod do základů mikroprocesorové techniky, architektury počítačů
knihy/mikroprocesory/obsah_mikro2.php
Mikropočítače
Seznámení s obecnou problematikou počítačů a mikropočítačů.
programovani/mikropocitace
Mikroprocesory IV.
Varianty návrhu číslicových řídících systémů realizovaných jako sekvenční obvody.
programovani/procesory_4
Zapojení kabelů
Popis vývodů a křížení různých propojovacích kabelů
konektory.php
Programování PHP
Články o programování webových stránek pomocí PHP.
internet/katalog_programovani_php
Weby o programování
Odkazy na velké servery o programování a vývoji SW
odkazy/programovani
JavaScript - ukázky
Příklady užití některých často používaných efektů na stránky.
katalogy/javascript
Popis jazaka C
Průvodce příkazy programovacího jazyka C.
programovani/jazyk_c
Otevře stránky Fulltextové vyhledávání na celém serveru
Digitalizované odborné knihy
Velká encyklopedie pojmů a zkratek
Česko - anglicko - německý technický slovník
Klasický katalog firem, služeb a stránek
OnLine překladač  vět a textů (nepoužívá Google)
Stránky pro chvíle oddechu od studia, relaxace
Katalog českých firem dle technologií
Internetový odkazník
Otevře hlavní stranu pro oddíl programování
Předchozí strana Obsah kapitol publikace Vyhledání pojmů ve článcích Abecední seznam klíčových slov Slova použitá v knize Následující strana



 Wikipedie   Seznam stránek   Kapitoly témat   Významné servery   Klíčová slova 







Otevře hlavní stranu společnosti AmaPro