Opo
Pri la aliaj signifoj de OPO rigardu en OPO.
En matematiko, opo estas finia vico de objektoj, aŭ listo de limigita nombro de objektoj. Opoj estas uzataj por priskribi matematikajn objektojn kiuj konsistas el certaj komponantoj. Ekzemple, orientita grafeo estas difinita kiel opo (V, E) kie V estas la aro de verticoj kaj E estas subaro de V × V kiu signifas la randojn.
Nomoj de opo
[redakti | redakti fonton]La termino aperis kiel abstraktado de la vico: unuopo, duopo, triopo, kvaropo, kvinopo, ... Opon de longo n oni kutime priskribas kiel n-opo, kie n povas esti iu ajn pozitiva entjero.
Formalaj difinoj
[redakti | redakti fonton]La ĉefaj propraĵoj kiuj diferencigas opon de, ekzemple, aro estas tiuj ke: (1) ĝi povas enhavi la saman objekton pli unu foje kaj (2) la objektoj aperas en certa ordo. Notu, ke (1) diferencigas opon de orda aro kaj ke (2) diferencigas opon de multaro. Ĉi tio estas ofte formaligita per jena regulo por identeco de du n-opoj:
- (a1, a2, ...,an) = (b1, b2, ..., bn) se kaj nur se a1 = b1, a2 = b2 kaj tiel plu.
Alia maniero de formaligo de opoj estas per pli primitivaj konstruoj en aroteorio kiel ordigitaj duopoj. Ekzemple, n-opo (kun n > 2) povas esti difinita kiel ordigita duopo de ĝia unua elemento kaj (n−1)-opo enhavanta la ceterajn elementojn:
- (a1, a2, ..., an) = (a1, (a2, ..., an))
Uzante la kutiman aro-teorian difinon de ordigita duopo kaj lasante la malplenan aron prezenti la malplena opo, eblas jena indukta difino:
- la 0-opo (kio estas la malplena opo) estas prezentita per ∅
- se x estas n-opo tiam {{a}, {a, x}} estas (n + 1)-opo.
Uzante ĉi tiun difinon, (1,2,2) devus esti
- (1,(2,(2,∅))) = (1,(2, {{2}, {2, ∅}} )) = (1, {{2}, {2, {{2}, {2, ∅}}}} ) = {{1}, {1, {{2}, {2, {{2}, {2, ∅}}}}}}
Estas grava simileco de ĉi tie kun la maniero kiun LISP originale uzis la ordigitan duopan abstraktadon por indukte krei ĉiujn n-opojn kaj listajn strukturoj:
- speciala simbolo NIL prezentas la malplenan liston;
- se X estas listo kaj A ajna valoro tiam la paro (A, X) prezentas listo kun la kapo (kio estas unua ero) A kaj la vosto (kio estas la resto de la listo sen la kapo) X.
Uzado en komputiko
[redakti | redakti fonton]En komputiko, opo povas havi du klarajn signifojn. Tipe en funkciaj kaj iuj aliaj programlingvoj, opo estas datuma objekto kiu tenas kelkajn objektojn, simila al matematika opo. Tia objekto estas ankaŭ sciata kiel rikordo.
En iuj lingvoj kaj aparte en datumbaza teorio, opo estas kutime difinita kiel finia funkcio kiu surĵetas nomojn de ĉelojn al certaj valoroj. Ĝia celo estas la sama kiel en matematiko, sed ĉi tie ĉi tiuj komponantoj estas identigitaj per unika kampa nomo sed ne per pozicio, kio ofte donas pli afablan skribmanieron.
Ekzemplo de tiaspeca opo:
- ( ludanto : "Elrabi", poentoj : 25 )
la sama opo povas ankaŭ esti skribita kiel:
- ( poentoj : 25, ludanto : "Elrabi" )