Whenever a new node joins, three invariants should be maintained (the  การแปล - Whenever a new node joins, three invariants should be maintained (the  ไทย วิธีการพูด

Whenever a new node joins, three in

Whenever a new node joins, three invariants should be maintained (the first two ensure correctness and the last one keeps querying fast):

Each node's successor points to its immediate successor correctly.
Each key is stored in {displaystyle successor(k)} successor(k).
Each node's finger table should be correct.
To satisfy these invariants, a predecessor field is maintained for each node. As the successor is the first entry of the finger table, we do not need to maintain this field separately any more. The following tasks should be done for a newly joined node {displaystyle n} n:

Initialize node {displaystyle n} n (the predecessor and the finger table).
Notify other nodes to update their predecessors and finger tables.
The new node takes over its responsible keys from its successor.
The predecessor of {displaystyle n} n can be easily obtained from the predecessor of {displaystyle successor(n)} successor(n) (in the previous circle). As for its finger table, there are various initialization methods. The simplest one is to execute find successor queries for all {displaystyle m} m entries, resulting in {displaystyle O(Mlog N)} O(Mlog N) initialization time. A better method is to check whether {displaystyle i^{th}} i^{th} entry in the finger table is still correct for the {displaystyle (i+1)^{th}} (i+1)^{th} entry. This will lead to {displaystyle O(log ^{2}N)} O(log^2 N). The best method is to initialize the finger table from its immediate neighbours and make some updates, which is {displaystyle O(log N)} O(log N).
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
เมื่อโหนใหม่รวม ควรรักษาสาม invariants (สองคนแรกตรวจความถูกต้อง และสุดท้ายช่วยทำแบบสอบถามอย่างรวดเร็ว):แต่ละโหนสืบไปทดทันทีอย่างถูกต้องแต่ละคีย์ถูกเก็บไว้ใน successor(k) {displaystyle successor(k) }แต่ละโหนตารางนิ้วควรถูกต้องการตอบสนองเหล่านี้ invariants เขตข้อมูลก่อนหน้าถูกรักษาไว้สำหรับแต่ละโหน สืบต่อเป็น รายการแรกของตารางนิ้ว เราไม่จำเป็นต้องรักษาฟิลด์นี้แยกต่างหากใด ๆ เพิ่มเติม ควรทำงานต่อไป n:โหนใหม่รวม {displaystyle n }เริ่มต้นโหน {displaystyle n } n (บรรพบุรุษและตารางนิ้ว)แจ้งโหนอื่น ๆ การปรับปรุงรุ่นก่อนและตารางนิ้วโหนดใหม่จะกว่าคีย์ความรับผิดชอบจากผู้สืบบรรพบุรุษของ {displaystyle n } n สามารถได้รับจากบรรพบุรุษของ {displaystyle successor(n) } successor(n) (ในวงกลมก่อนหน้านี้)ได้อย่างง่ายดาย สำหรับตารางนิ้ว มีหลายวิธี ง่ายที่สุดคือการดำเนินการหาผู้สืบทอดแบบสอบถามสำหรับรายการทั้งหมด {displaystyle m } m ในเวลาเริ่มต้นของ {displaystyle O(Mlog N) } O (Mlog N) วิธีดีคือการ ตรวจสอบว่า { displaystyle ฉัน ^ {th } } ผม ^ {th } รายการในตารางนิ้วจะยังคงถูกต้องสำหรับการ { displaystyle (ผม + 1) ^ {th } } (ผม + 1) ^ {th } รายการ นี้จะนำไปสู่ {displaystyle O(log ^{2}N) } O (log^2 N) วิธีที่ดีที่สุดคือการ เตรียมใช้งานตารางนิ้วจากของเพื่อนบ้านได้ทันที และทำการปรับปรุงบางอย่าง ซึ่งเป็น {displaystyle O(log N) } O (log N)
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
เมื่อใดก็ตามที่โหนดใหม่เข้าร่วมสามคงที่ควรได้รับการเก็บรักษาไว้ (สองคนแรกให้แน่ใจว่าถูกต้องและคนสุดท้ายที่ช่วยให้การสอบถามเร็ว):

น. ของแต่ละโหนดจุดทายาทผู้สืบทอดของมันทันทีอย่างถูกต้อง
ที่สำคัญแต่ละคนจะถูกเก็บไว้ใน { displaystyle ทายาท (k)} ทายาท (k).
ตารางนิ้วของแต่ละโหนดควรถูกต้อง.
เพื่อตอบสนองความคงที่เหล่าฟิลด์บรรพบุรุษจะถูกเก็บไว้สำหรับแต่ละโหนด เป็นผู้สืบทอดเป็นรายการแรกของตารางนิ้วที่เราไม่จำเป็นต้องรักษาข้อมูลนี้แยกใด ๆ เพิ่มเติม งานต่อไปนี้ควรจะทำสำหรับโหนดเข้าร่วมใหม่ { displaystyle n} N:

เริ่มต้นโหนด { displaystyle n} N (บรรพบุรุษและตารางนิ้ว).
แจ้งโหนดอื่น ๆ เพื่ออัปเดตก่อนหน้าและตารางนิ้วของพวกเขา.
โหนดใหม่จะใช้เวลา กุญแจความรับผิดชอบจากทายาท.
บรรพบุรุษของ { displaystyle n} n สามารถรับได้อย่างง่ายดายจากบรรพบุรุษของ { displaystyle ทายาท (n)} ทายาท (n) (ในวงกลมก่อนหน้านี้) ในฐานะที่เป็นสำหรับตารางนิ้วของมันมีวิธีการเริ่มต้นต่างๆ ที่ง่ายที่สุดคือการดำเนินการหาผู้สืบทอดคำสั่งสำหรับทุก { displaystyle m} รายการ M ผลใน { displaystyle O (M log n)} O (M log n) เวลาของการเริ่มต้น วิธีที่ดีกว่าคือการตรวจสอบว่า { displaystyle ฉัน ^ {TH}} ฉัน ^ {TH} รายการในตารางนิ้วยังคงเป็นที่ถูกต้องสำหรับ { displaystyle (i + 1) ^ {TH}} (i + 1) ^ {TH} รายการ นี้จะนำไปสู่การ { displaystyle O ( Log ^ {2} N)} O ( Log ^ 2 N) วิธีที่ดีที่สุดคือการเริ่มต้นตารางนิ้วจากเพื่อนบ้านทันทีและทำให้การปรับปรุงบางอย่างซึ่งเป็น { displaystyle O ( log n)} O ( log n)
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
เมื่อใดก็ตามที่โหนดใหม่รวม 3 ผลยืนยงควรจะรักษา ( สองคนแรกตรวจสอบความถูกต้องและสุดท้ายเก็บข้อมูลได้อย่างรวดเร็ว )ของโหนดในแต่ละจุดของผู้สืบทอดทายาททันทีได้อย่างถูกต้องแต่ละคีย์จะถูกเก็บไว้ใน displaystyle ( K ) } { ทายาทผู้สืบทอด ( K )ของโหนดแต่ละนิ้วโต๊ะควรจะถูกต้องเพื่อตอบสนองผลยืนยงเหล่านี้ บรรพบุรุษเขตมีการรักษาสำหรับแต่ละโหนด ในฐานะทายาท คือ รายการแรกของนิ้วตาราง เราไม่ต้องการการรักษาด้านนี้แยกต่างหากอีก งานต่อไปนี้ควรทำสำหรับโหนดใหม่เข้าร่วม { displaystyle n } N :เริ่มต้นโหนด { displaystyle n } N ( บรรพบุรุษและนิ้วโต๊ะ )แจ้งจุดอื่น ๆเพื่อปรับปรุงรุ่นก่อนของพวกเขาและตารางนิ้วโหนดใหม่จะใช้เวลามากกว่าการรับผิดชอบคีย์จากทายาทของบรรพบุรุษของ { N } n displaystyle สามารถหาได้ง่ายจากบรรพบุรุษของ displaystyle ( N ) } { ทายาทผู้สืบทอด ( N ) ( ในวงกลมก่อนหน้า ) ส่วนของนิ้วตาราง มีวิธีการเริ่มต้นต่างๆ หนึ่งที่ง่ายที่สุดคือการค้นหาผู้สืบทอดแบบสอบถามทั้งหมด { M } M displaystyle รายการ ส่งผลให้ { displaystyle O ( mlog n ) } O ( mlog n ) เวลาเริ่มต้น . วิธีที่ดีกว่าคือการตรวจสอบว่า displaystyle ผม ^ { { th } } ^ { งาม } รายการในนิ้วโต๊ะยังคงถูกต้องสำหรับ { displaystyle ( + 1 ) ^ { งาม } } ( i + 1 ) ^ { งาม } รายการ นี้จะนำไปสู่การ { displaystyle O ( log ^ { 2 } } O ( log n ) ^ 2 n ) วิธีที่ดีที่สุดคือการเริ่มต้นนิ้วโต๊ะจากประเทศเพื่อนบ้านและทำให้การปรับปรุงบางอย่างซึ่งเป็น { displaystyle O ( log n ) } O ( log n )
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: