Чвор (информатика)

С Википедије, слободне енциклопедије
У теорији графова, ова слика приказује поједностављену мрежу где сваки број представља различит чвор.

Чвор је основна јединица која се користи у рачунарству. Чворови су уређаји или чувари података на некој већој мрежи. Уређаји као што су персонални рачунари, мобилни телефони или штампачи су чворови. Приликом дефинисања чворова на интернету, чвор је све оно што има ИП адресу. Чворови су индивидуални делови веће структуре података, као што су повезане листе или стабла, која су структуре података које имају „разгранату” структуру. Чворови садрже податке и такође могу бити повезани са другим чворовима. Везе између чворова често се имплементирају помоћу показивача.

Чворови и стабла[уреди | уреди извор]

Једноставно бинарно стабло величине 9 и висине 3, са кореном чија је вредност 2. Ово стабло је небалансирано и несортирано.

Чворови су често распоређени у дрвоидне структуре. Те структуре су бинарна стабла.[1] Чвор представља информацију садржану у јединственој структури. Ови чворови могу да садрже вредност или стање, или да евентуално представљају независну структуру података. Чворови су представљени преко јединственог чвора, свог родитеља. Највиша тачка дрвоидне структуре назива се корен[2], који нема родитеља, али је родитељ или предак осталим чворовима који су у стаблу испод њега. Висина чвора је одређена најдужим путем од корена до најдаљег листа, а висина стабла је једнака висини корена. Дубина чвора је одређена раздаљином између тог чвора и корена. За корен се каже да има дубину једнаку нули.[3] Подаци се могу открити помоћу оваквих мрежних путева. ИП адреса користи овај систем чворова како би дефинисала свој положај на мрежи.

Дефиниције[уреди | уреди извор]

  • Дете: Дете је чвор који је наставак неког другог чвора. На пример, рачунар са приступом интернету могао би се посматрати као дете чвора који представља интернет. Инверзна веза назива се родитељски чвор. Ако је чвор C дете чвора А, онда је чвор А родитељ чвора C.
  • Степен: Степен чвора је број деце чвора.
  • Дубина: Дубина чвора А је дужина пута од чвора А до корена. За корен кажемо да има дубину 0.
  • Грана: Веза између чворова.
  • Шума: Скуп стабала.
  • Унутрашњи чвор: Чвор који има најмање једно дете.
  • Лист: Чвор који нема деце.
  • Корен: Чвор који се издваја од осталих чворова. Обично је приказан као највиши чвор стабла.
  • Рођаци: Чворови који имају истог родитеља.

Језици за обележавање[уреди | уреди извор]

Још једна честа примена чворова у стаблима је у веб развоју. У програмирању, XML се користи за размену информација између рачунарских програмера и рачунара подједнако. Из овог разлога XML се користи да креира заједничке мрежне протоколе који се користе за продуктивни софтвер, и служи као база за развој језика за обележавање (markup језика) модерног веба, као што је XHTML. Иако слични у приступу програмера, HTML и CSS су језици који се користе за развој текста и дизајна веб-сајтова. Док XML, HTML и XHTML обезбеђују језик и изражајност, DOM представља преводиоца.[4]

Тип чвора[уреди | уреди извор]

Различити типови чворова су у стаблу приказани специфичним интерфејсима. Другим речима, тип чвора дефинисан је комуникацијом тог чвора са осталим чворовима. Сваки чвор има своје особине које одређују његов тип, на пример рођак или лист. Ако је особина чвора константна особина, та особина одређује његов тип. Тако да, ако је особина чвора константа ELEMENT_NODE, знамо да је тај објекат чвор Елемент. Овај објекат користи Елемент интерфејс да дефинише све методе и особине тог чвора.

Различити W3C World Wide Web Consortium типови чворова и њихови описи:

  • Document представља цео документ (корен и DOM-стабло)
  • DocumentFragment представља објекат документа, који садржи део документа
  • DocumentType омогућава повезивање са ентитетима дефинисаним у документу
  • ProcessingInstruction представља инструкцију која се обрађује
  • EntityReference представља референцу на ентитет
  • Element представља елемент
  • Attr представља атрибут
  • Text представља текстуални садржај елемента или објекта
  • CDATASection представља CDATA одељак у документу (текст који неће бити парсиран)
  • Comment представља коментар
  • Entity представља ентитет
  • Notation представља нотацију декларисану у DTD
Тип чвора Константа
1 ELEMENT_NODE
2 ATTRIBUTE_NODE
3 TEXT_NODE
4 CDATA_SECTION_NODE
5 ENTITY_REFERENCE_NODE
6 ENTITY_NODE
7 PROCESSING_INSTRUCTION_NODE
8 COMMENT_NODE
9 DOCUMENT_NODE
10 DOCUMENT_TYPE_NODE
11 DOCUMENT_FRAGMENT_NODE
12 NOTATION_NODE

Чвор објекат[уреди | уреди извор]

Чвор објекат представљен је у стаблу једним чвором. Може бити чвор елемент, чвор атрибут, чвор текст, или било који тип чвора који је описан у одељку „Тип чвора”. Сви објекти могу да наследе особине и методе за разрешавање са родитељем или дететом, али немају сви објекти родитеља или дете. На пример, текст чворови не могу имати децу, стога додавање њихових потомака резултира DOM грешком.

Објекти у DOM стаблу могу бити адресирани и манипулисани користећи методе над тим објектима. Јавни интерфејс DOM-а је спецификован у његовом програмском интерфејсу (API). Историја DOM-а (Document Object Model) је испреплетана са историјом „ратова претраживача” касних 1990-их година, између Netscape Navigator-a и Microsoft Internet Explorer-a, као и са JavaScript-ом и JScript-om, prvim „skript“ jezicima koji su bili naširoko implementirani u veb pretraživačima.

Reference[уреди | уреди извор]

Spoljašnje veze[уреди | уреди извор]