{"id":54389,"date":"2019-12-25T00:00:00","date_gmt":"2019-12-24T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/indeksiruemoe-binarnoe-derevo"},"modified":"2020-02-18T14:02:23","modified_gmt":"2020-02-18T11:02:23","slug":"indeksiruemoe-binarnoe-derevo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/indeksiruemoe-binarnoe-derevo","title":{"rendered":"Pema binare e indeksuar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/8ceb987e007db02de04d29f33185e8ec.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>M\u00eb ra nj\u00eb detyr\u00eb e k\u00ebtij lloji. Duhet t\u00eb realizoj nj\u00eb en\u00eb ruajtjeje t\u00eb t\u00eb dh\u00ebnave q\u00eb ofron funksionalitetin e m\u00ebposht\u00ebm: <\/p>\n<p><\/p>\n<ul>\n<li>shtoni nj\u00eb element t\u00eb ri<\/li>\n<li>fshini elementin sipas numrit rendor<\/li>\n<li>merrni elementin sipas numrit rendor<\/li>\n<li>t\u00eb dh\u00ebnat ruhen n\u00eb nj\u00eb form\u00eb t\u00eb renditur<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>T\u00eb dh\u00ebnat vazhdimisht shtohen dhe fshihen, struktura duhet t\u00eb ofroj\u00eb shpejt\u00ebsi t\u00eb shpejt\u00eb funksionimi. Fillimisht u p\u00ebrpoqa t\u00eb realizoj nj\u00eb gj\u00eb t\u00eb till\u00eb duke p\u00ebrdorur en\u00ebt standarde nga <strong>std<\/strong>. Ky rrug\u00eb nuk kishte sukses dhe erdhi kuptimi se duhej t\u00eb realizoja di\u00e7ka vet\u00eb. E vetmja gj\u00eb q\u00eb m\u00eb erdhi n\u00eb mend \u00ebsht\u00eb t\u00eb p\u00ebrdorja nj\u00eb pem\u00eb k\u00ebrkimi binar. Sepse ajo p\u00ebrmbush k\u00ebrkes\u00ebn p\u00ebr nj\u00eb shtim t\u00eb shpejt\u00eb, fshirje dhe ruajtje t\u00eb dh\u00ebnash n\u00eb nj\u00eb form\u00eb t\u00eb renditur. Mbeti vet\u00ebm t\u00eb shpikja si t\u00eb indeksoja t\u00eb gjitha elementet dhe t\u00eb rivler\u00ebsoja indeksat kur pem\u00eb ndryshon.<\/p>\n<p><\/p>\n<pre><code class=\"cpp\">struct node_s {    \n    data_t data;\n\n    uint64_t weight; \/\/ pesha e nodit\n\n    node_t *left;\n    node_t *right;\n\n    node_t *parent;\n};<\/code><\/pre>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb artikull do t\u00eb ket\u00eb m\u00eb shum\u00eb figura dhe teori se kod. Kodu mund t\u00eb shihet n\u00eb lidhjen m\u00eb posht\u00eb.<\/p>\n<p><\/p>\n<h2 id=\"ves\">Pesha<\/h2>\n<p><\/p>\n<p>P\u00ebr k\u00ebt\u00eb, pema iu n\u00ebnshtrua nj\u00eb modifikimi t\u00eb vog\u00ebl, u shtua informacion shtes\u00eb mbi <strong>pesha<\/strong> e nodit. Pesha e nodit \u00ebsht\u00eb <strong>numri i pasardh\u00ebsve t\u00eb k\u00ebtij nodi<\/strong> + <strong>1<\/strong> (pesha e nj\u00eb elementi t\u00eb vet\u00ebm).<\/p>\n<p><\/p>\n<p>Funksioni p\u00ebr t\u00eb marr\u00eb pesha e nodit:<\/p>\n<p><\/p>\n<pre><code class=\"cpp\">uint64_t bntree::get_child_weight(node_t *node) {\n    if (node) {\n        return node-&gt;weight;\n    }\n\n    return 0;\n}<\/code><\/pre>\n<p><\/p>\n<p>Pesha e gjethit p\u00ebrkat\u00ebsisht \u00ebsht\u00eb <strong>0<\/strong>.<\/p>\n<p><\/p>\n<p>M\u00eb pas, do t\u00eb kalojm\u00eb n\u00eb nj\u00eb paraqitje vizive t\u00eb k\u00ebtij lloji t\u00eb peme. <strong>Me ngjyr\u00eb t\u00eb zez\u00eb<\/strong> n\u00eb t\u00eb do t\u00eb tregohen \u00e7el\u00ebsi i nodit (vlera nuk do t\u00eb tregohet, pasi nuk ka nevoj\u00eb), <strong>me t\u00eb kuqe<\/strong> - pesha e nodit, <strong>me t\u00eb\u7eff- indeks i nodit.<\/strong> Kur pema \u00ebsht\u00eb bosh, pesha e saj \u00ebsht\u00eb 0. Do t\u00eb shtojm\u00eb nj\u00eb element rr\u00ebnj\u00eb n\u00eb t\u00eb:<\/p>\n<p><\/p>\n<p>Pesha e pem\u00ebs b\u00ebhet 1, pesha e elementit rr\u00ebnj\u00eb \u00ebsht\u00eb 1. Pesha e elementit rr\u00ebnj\u00eb \u00ebsht\u00eb pesha e pem\u00ebs.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/2d4145039daee26582910556a40d2a5c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Do t\u00eb shtojm\u00eb edhe disa element\u00eb t\u00eb tjer\u00eb:<\/p>\n<p><\/p>\n<p>\u00c7do her\u00eb kur shtohet nj\u00eb element i ri, ne zbresim p\u00ebrgjat\u00eb nodave posht\u00eb dhe rritim num\u00ebruesin e pesha t\u00eb \u00e7do nodi q\u00eb kalojm\u00eb. Kur krijohet nj\u00eb nod i ri, duhet ti caktohet pesha<\/p>\n<p>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/803cc4a65aa3d8a2fcb20fe325351cfa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/0aa12f41b822b4bb1e9fadb7564dc461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/8566df9404037e92f53b315bc3304016.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/1847e6ddffdb28d0a6d9a4949ebb5f80.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>. N\u00ebse nj\u00eb nod me nj\u00eb \u00e7el\u00ebs t\u00eb till\u00eb ekziston tashm\u00eb, at\u00ebher\u00eb do ta rrewrite vler\u00ebn dhe do t\u00eb shkojm\u00eb prapa deri tek rr\u00ebnja duke anuluar ndryshimet e peshave n\u00eb t\u00eb gjitha nodet q\u00eb kemi kaluar. <strong>1<\/strong>N\u00ebse ndodhet nj\u00eb fshirje e nodit, at\u00ebher\u00eb zbresim posht\u00eb dhe dekremetojm\u00eb peshat e nodave t\u00eb kaluar.<br \/>\nKur, kur rr\u00ebshqet nj\u00eb nod, ne zbresim posht\u00eb dhe zvog\u00eblojm\u00eb peshat e nod\u00ebve t\u00eb kaluar. <\/p>\n<p><\/p>\n<h2 id=\"indeksy\">Indeksat<\/h2>\n<p><\/p>\n<p>Tani t\u00eb kalojm\u00eb n\u00eb m\u00ebnyr\u00ebn se si t\u00eb indeksojm\u00eb nyjet. Nyjet nuk ruajn\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb qart\u00eb indeksin e tyre, i cili llogaritet n\u00eb baz\u00eb t\u00eb pesh\u00ebs s\u00eb nyjeve. Sikur ato t\u00eb ruanin indeksin e tyre, do t\u00eb k\u00ebrkonte <strong>O(n)<\/strong> koh\u00eb p\u00ebr t\u00eb p\u00ebrdit\u00ebsuar indeksin e t\u00eb gjitha nyjeve pas \u00e7do ndryshimi t\u00eb pem\u00ebs.<br \/>\nTani le t\u00eb kalojm\u00eb n\u00eb nj\u00eb p\u00ebrfaq\u00ebsim vizual. Pema jon\u00eb \u00ebsht\u00eb bosh, le t\u00eb shtojm\u00eb nyj\u00ebn e par\u00eb:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/8a3b176f318cd077b1cf50ddf232e0da.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Nyja e par\u00eb ka indeksin <strong>0<\/strong>, dhe tani ka dy raste. N\u00eb rastin e par\u00eb, indeksi i elementit rr\u00ebnjor do t\u00eb ndryshoj\u00eb, n\u00eb rastin e dyt\u00eb nuk do t\u00eb ndryshoj\u00eb.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/cb863be8f42385d3bbb2f46700a8cff3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>N\u00eb rr\u00ebnj\u00eb, n\u00ebnpema e majt\u00eb ka pesh\u00eb 1.<\/p>\n<p><\/p>\n<p>Rasti i dyt\u00eb:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/35eec59a81fc8b056c7e91daa3ee508e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Indeksi i rr\u00ebnj\u00ebs nuk ndryshoi, pasi pesha e n\u00ebnpem\u00ebs s\u00eb saj t\u00eb majt\u00eb mbeti 0.<\/p>\n<p><\/p>\n<p>Si llogaritet indeksi i nj\u00eb nyjeje, \u00ebsht\u00eb pesha e n\u00ebnpem\u00ebs s\u00eb saj t\u00eb majt\u00eb + numri i dh\u00ebn\u00eb nga prindi. Cili \u00ebsht\u00eb ky num\u00ebr? \u00cbsht\u00eb num\u00ebruesi i indekseve, fillimisht ai \u00ebsht\u00eb <strong>0<\/strong>, pasi rr\u00ebnja nuk ka prind. M\u00eb pas, gjith\u00e7ka varet nga se ku zbresim, te f\u00ebmija e majt\u00eb apo e djatht\u00eb. N\u00ebse te e majta, at\u00ebher\u00eb num\u00ebruari nuk shtohet. N\u00ebse te e djathta, shtojm\u00eb indeksin e nyj\u00ebs aktuale.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Pema binare e indeksuar\" src=\"\/wp-content\/uploads\/2019\/12\/d328174370ef52c646d8689cce977302.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>P\u00ebr shembull, si llogaritet indeksi i elementit me \u00e7el\u00ebs 8 (f\u00ebmija e djatht\u00eb e rr\u00ebnj\u00ebs). Ky \u00ebsht\u00eb \"Indeksi i rr\u00ebnj\u00ebs\" + \"pesha e n\u00ebnpem\u00ebs s\u00eb nyj\u00ebs me \u00e7el\u00ebs 8\" + \"1\" == 3 + 2 + 1 == <strong>6<\/strong><br \/>\nIndeksi i elementit me \u00e7el\u00ebs 6 do t\u00eb jet\u00eb \"Indeksi i rr\u00ebnj\u00ebs\" + 1 == 3 + 1 == <strong>4<\/strong><\/p>\n<p><\/p>\n<p>Prandaj, p\u00ebr t\u00eb marr\u00eb, fshir\u00eb nj\u00eb element sipas indeksit k\u00ebrkohet koh\u00eb <strong>O(log n)<\/strong>, pasi q\u00eb p\u00ebr t\u00eb marr\u00eb elementin e nevojsh\u00ebm duhet t\u00eb gjejm\u00eb fillimisht at\u00eb (t\u00eb zbresim nga rr\u00ebnja deri te ky element).<\/p>\n<p><\/p>\n<h2 id=\"glubina\">Thell\u00ebsia<\/h2>\n<p><\/p>\n<p>N\u00eb baz\u00eb t\u00eb pesha gjithashtu mund t\u00eb llogaritet thell\u00ebsia e pem\u00ebs. E nevojshme p\u00ebr balancimin.<br \/>\nP\u00ebr k\u00ebt\u00eb, pesha e nyj\u00ebs aktuale duhet t\u00eb rrumbullakoset n\u00eb numrin e par\u00eb t\u00eb fuqis\u00eb 2 q\u00eb \u00ebsht\u00eb m\u00eb e madhe ose e barabart\u00eb me k\u00ebt\u00eb pesh\u00eb dhe t\u00eb merret logaritmi binar prej saj. K\u00ebshtu do t\u00eb marrim thell\u00ebsin\u00eb e pem\u00ebs, me kusht q\u00eb ajo t\u00eb jet\u00eb e balancuar. Pem\u00ebn e balancojm\u00eb pas shtimit t\u00eb nj\u00eb elementi t\u00eb ri. Teorin\u00eb mbi m\u00ebnyr\u00ebn e balancimit t\u00eb pem\u00ebve nuk do ta paraqes, por n\u00eb kodet burimore \u00ebsht\u00eb paraqitur funksioni i balancimit.<\/p>\n<p><\/p>\n<p>Kodi p\u00ebr kthimin e pesha n\u00eb thell\u00ebsi.<\/p>\n<p><\/p>\n<pre><code class=\"cpp\">\/*\n * \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 2, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u043e\u0432\u043d\u043e x\n *\/\nuint64_t bntree::cpl2(uint64_t x) {\n    x = x - 1;\n    x = x | (x &gt;&gt; 1);\n    x = x | (x &gt;&gt; 2);\n    x = x | (x &gt;&gt; 4);\n    x = x | (x &gt;&gt; 8);\n    x = x | (x &gt;&gt; 16);\n    x = x | (x &gt;&gt; 32);\n\n    return x + 1;\n}\n\n\/*\n * \u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c \u043e\u0442 \u0447\u0438\u0441\u043b\u0430\n *\/\nlong bntree::ilog2(long d) {\n    int result;\n    std::frexp(d, &amp;result);\n    return result - 1;\n}\n\n\/*\n * \u0412\u0435\u0441 \u043a \u0433\u043b\u0443\u0431\u0438\u043d\u0435\n *\/\nuint64_t bntree::weight_to_depth(node_t *p) {\n    if (p == NULL) {\n        return 0;\n    }\n\n    if (p-&gt;weight == 1) {\n        return 1;\n    } else if (p-&gt;weight == 2) {\n        return 2;\n    }\n\n    return this-&gt;ilog2(this-&gt;cpl2(p-&gt;weight));\n}<\/code><\/pre>\n<p><\/p>\n<h2 id=\"itogi\">P\u00ebrfundimet<\/h2>\n<p><\/p>\n<ul>\n<li>shtimi i nj\u00eb elementi t\u00eb ri ndodhi brenda <strong>O(log n)<\/strong><\/li>\n<li>fshirjes s\u00eb nj\u00eb elementi sipas rendit ndodh brenda <strong>O(log n)<\/strong><\/li>\n<li>marrjes s\u00eb nj\u00eb elementi sipas rendit ndodh brenda <strong>O(log n)<\/strong><\/li>\n<\/ul>\n<p><\/p>\n<p>Shpejt\u00ebsia <strong>O(log n)<\/strong> paguajm\u00eb p\u00ebr at\u00eb q\u00eb t\u00eb gjitha t\u00eb dh\u00ebnat ruhen n\u00eb nj\u00eb form\u00eb t\u00eb renditur. <\/p>\n<p><\/p>\n<p>Nuk di ku mund t\u00eb jet\u00eb e dobishme nj\u00eb struktur\u00eb e till\u00eb. Thjesht nj\u00eb ushtrim p\u00ebr t\u00eb kuptuar si funksionojn\u00eb pem\u00ebt. Faleminderit p\u00ebr v\u00ebmendjen.<\/p>\n<p><\/p>\n<h2 id=\"ssylki\">Linke<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dvjdjvu\/bntree\">Kodi burimor i pem\u00ebs<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Projekti p\u00ebrmban t\u00eb dh\u00ebna provuese p\u00ebr t\u00eb kontrolluar shpejt\u00ebsin\u00eb e funksionimit. Pema mbushet <strong>1000000<\/strong> me element\u00eb. Dhe ndodhin heqje, shtim dhe marrje element\u00ebsh n\u00eb rend. <strong>1000000<\/strong> Ndryshe, do t\u00eb thot\u00eb <strong>3000000<\/strong> operacioneve. Rezultati doli mjaft i mir\u00eb ~ 8 sekonda.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/481372\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b: \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0432\u0435\u0449\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0438\u0437 std. \u042d\u0442\u043e\u0442 \u043f\u0443\u0442\u044c \u043d\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54389","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/indeksiruemoe-binarnoe-derevo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0434\u0435\u0440\u0435\u0432\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/indeksiruemoe-binarnoe-derevo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-24T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Pem\u00eb binare e indeksuar | ProHoster","description":"M\u00eb ra nj\u00eb detyr\u00eb e till\u00eb.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/indeksiruemoe-binarnoe-derevo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0435 \u0434\u0435\u0440\u0435\u0432\u043e | ProHoster","og:description":"\u041f\u043e\u043f\u0430\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/indeksiruemoe-binarnoe-derevo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-24T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54389","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 11:11:41","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:07:24","updated":"2026-01-24 11:11:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=54389"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54389\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=54389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=54389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=54389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}