Cuckoo Hashing VisualizationCuckoo hashing is an elegant method for re การแปล - Cuckoo Hashing VisualizationCuckoo hashing is an elegant method for re ไทย วิธีการพูด

Cuckoo Hashing VisualizationCuckoo

Cuckoo Hashing Visualization

Cuckoo hashing is an elegant method for resolving collisions in hash tables. It was invented in 2001 by Rasmus Pagh and Flemming Friche Rodler. It has the rare distinction of being easy to implement and efficient both in theory and practice.

Description

In the basic variant of Cuckoo hashing we use two hash tables T1 and T2 of equal size, and we index them with the hash functions h1, respectively h2. Here are the main operations:

Search couldn't be easier: an element x can exist in one of two locations: in T1 at position h1(x) or in T2 at position h2(x). We can check both locations in constant time.

Delete is similarly easy: we look at the two possible locations, and if the element is there, we delete it.

Insert is a bit trickier: we put x in T1[h1(x)]. If there was some element y stored in that location, y must be evicted (thus the name "cuckoo" hashing). We put y in its other valid location T2[h2(y)]. If that location is occupied by some element z, we have to evict z and insert it in its other valid location T1[h1(z)]. We continue like this until we find an empty place and the process finishes, or until we give up because it starts to take too long (perhaps because we ran into a loop). If the latter happens, we conclude that insert failed, we stop and we rehash everything with new hash functions (increasing the table sizes if the tables are getting too full). It can be shown that insert takes constant time (on average), even if we account for the possible rehashing - assuming that the hash functions are sufficiently good.
For more details and variations on the theme read the original article, or the wikipedia page and references therein.

Here is a visualization of Cuckoo hashing. You can search, insert, or delete arbitrary elements via the text box in the middle.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
Cuckoo Hashing แสดงภาพประกอบเพลงCuckoo hashing เป็นวิธีหรูหราสำหรับการแก้ไขตามในตารางแฮ ถูกคิดค้นในปีค.ศ. 2001 โดย Pagh รัสและ Flemming Friche Rodler มีความแตกต่างที่หายากที่ใช้ง่าย และมีประสิทธิภาพ ทั้งด้านทฤษฎีและปฏิบัติคำอธิบายตัวแปรพื้นฐานของ Cuckoo hashing เราใช้สองตารางแฮ T1 และ T2 เท่าขนาด และเราดัชนี มีการแฮฟังก์ชัน h1, h2 ตามลำดับ นี่คือการดำเนินงานหลัก:ค้นหาไม่ได้ง่ายขึ้น: องค์ประกอบ x สามารถอยู่ในตำแหน่งสองหนึ่ง: ที่ h1(x) ตำแหน่ง T1 หรือ T2 ที่ตำแหน่ง h2(x) เราสามารถตรวจสอบสถานทั้งในเวลาที่คงลบเป็นเรื่องง่ายในทำนองเดียวกัน: ดูสถานได้ที่สอง และถ้าองค์ประกอบมี เราลบมันแทรกอยู่เล็กน้อย trickier: เราใส่ x ใน T1[h1(x)] ถ้ามี y บางองค์ประกอบที่จัดเก็บในตำแหน่งที่ตั้ง y ต้องเอาออก (ดังนั้นชื่อ "cuckoo" hashing) เราใส่ y ในอื่น ๆ ถูกต้องสถาน T2[h2(y)] ถ้าตำแหน่งที่ว่าง โดย z บางองค์ประกอบ เราได้ขับไล่ z และแทรกในอื่น ๆ ถูกต้องสถานที่ T1[h1(z)] เราทำเช่นนี้จน กว่าเราพบสถานที่ว่างเปล่า และเสร็จสิ้นกระบวนการ หรือจน กว่าเราให้ขึ้น เพราะมันเริ่มจะยาวเกินไป (อาจจะ เพราะเราวิ่งมาวน) ถ้าจะเกิดขึ้น เราสรุปการแทรกที่ล้มเหลว เราหยุด และเรา rehash จึง มีฟังก์ชันแฮชของใหม่ (เพิ่มขนาดตารางถ้าตารางมีการเต็ม) มันสามารถแสดงแทรกที่ใช้เวลาคง (โดยเฉลี่ย), แม้เราบัญชีในที่สุด rehashing - สมมติว่าฟังก์ชันแฮชพอดีสำหรับรายละเอียดเพิ่มเติมและเปลี่ยนแปลงในรูปแบบอ่านบท ความต้นฉบับ หรือหน้าวิกิพีเดีย และข้อมูลอ้างอิง thereinนี่คือเพลงของ Cuckoo hashing คุณสามารถค้นหา แทรก หรือลบองค์ประกอบที่กำหนดผ่านทางกล่องข้อความตรงกลาง
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
นกกาเหว่า Hashing แสดงคร่ำเครียดนกกาเหว่าเป็นวิธีที่สง่างามสำหรับการแก้ปัญหาการชนกันในตารางแฮช มันถูกคิดค้นในปี 2001 โดย Rasmus Pagh และเฟลมิง Friche Rodler มันมีความแตกต่างที่หายากของการเป็นเรื่องง่ายที่จะดำเนินการและมีประสิทธิภาพทั้งในทางทฤษฎีและการปฏิบัติ. รายละเอียดในตัวแปรพื้นฐานของคร่ำเครียดนกกาเหว่าที่เราใช้สองกัญชา T1 T2 ตารางและขนาดเท่ากันและเราดัชนีพวกเขาด้วยฟังก์ชันแฮช h1, h2 ตามลำดับ . นี่คือการดำเนินงานหลักคือการค้นหาไม่อาจจะง่าย: องค์ประกอบ x สามารถอยู่ในหนึ่งในสองสถานที่ใน T1 ที่ h1 ตำแหน่ง (x) หรือ T2 ที่ h2 ตำแหน่ง (x) เราสามารถตรวจสอบสถานที่ทั้งสองในเวลาคง. ลบในทำนองเดียวกันคือง่าย:. เรามองไปที่สองสถานที่ที่เป็นไปได้และถ้าองค์ประกอบจะมีเราลบมันใส่เป็นบิต trickier: เราใส่ x ใน T1 [h1 (x)] . ถ้ามี y ที่บางส่วนเก็บไว้ในสถานที่ที่, y จะต้องถูกขับไล่ (ดังนั้นชื่อ "นกกาเหว่า" hashing) เราใส่ Y T2 ในตำแหน่งที่ถูกต้องของอื่น ๆ [h2 (y)] หากสถานที่ที่ถูกครอบครองโดยซีองค์ประกอบบางอย่างที่เราต้องขับไล่ซีและใส่ไว้ในตำแหน่งที่ถูกต้อง T1 ของอื่น ๆ [h1 (ซี)] เรายังคงเป็นเช่นนี้จนกว่าเราจะหาสถานที่ที่ว่างเปล่าและเสร็จสิ้นกระบวนการหรือจนกว่าเราจะให้ขึ้นเพราะมันเริ่มที่จะใช้เวลานานเกินไป (อาจจะเพราะเราวิ่งเข้าไปในวง) ถ้าหลังเกิดเหตุการณ์นี้เราสรุปแทรกล้มเหลวเราหยุดและเราปรับปรุงใหม่ทุกอย่างด้วยฟังก์ชั่นใหม่แฮช (การเพิ่มขนาดของตารางถ้าตารางจะได้รับเต็มรูปแบบมากเกินไป) มันจะแสดงให้แทรกที่ต้องใช้เวลาคงที่ (โดยเฉลี่ย) แม้ว่าเราบัญชีสำหรับ rehashing เป็นไปได้ -. สมมติว่าฟังก์ชันแฮชเป็นสิ่งที่ดีพอสำหรับรายละเอียดเพิ่มเติมและรูปแบบในรูปแบบอ่านบทความเดิมหรือหน้าวิกิพีเดียและ การอ้างอิงนั้น. นี่คือภาพของนกกาเหว่าคร่ำเครียดคือ คุณสามารถค้นหาแทรกหรือลบองค์ประกอบโดยพลการผ่านทางกล่องข้อความที่อยู่ตรงกลาง














การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
นกกาเหว่า hashing การแสดง

นกกาเหว่า hashing เป็นสง่างามวิธีการแก้ไขการชนในสับโต๊ะ มันถูกประดิษฐ์ขึ้นในปี 2001 โดย Rasmus pagh เฟลมมิ่ง friche และ rodler . มันมีความแตกต่างที่หายากเป็นง่ายต่อการใช้และมีประสิทธิภาพทั้งในด้านทฤษฎีและปฏิบัติ

รายละเอียด

ในตัวแปรพื้นฐานของนกกาเหว่า hashing เราใช้สองสับตาราง T1 และ T2 ของเท่ากับขนาดและดัชนีพวกเขาด้วยฟังก์ชัน hash H1 , H2 ตามลำดับ . นี่คือปฏิบัติการหลัก :

ค้นหาไม่สามารถจะง่าย : องค์ประกอบ X สามารถอยู่ในหนึ่งในสถานที่สองแห่งในที่ตำแหน่ง T1 หรือ T2 H1 ( x ) ที่ตำแหน่ง H2 ( X ) เราสามารถตรวจสอบสถานที่ทั้งสองในช่วงเวลาคงที่

ลบเป็นเรื่องง่ายเหมือนกับเราดูทั้งสองสถานที่เป็นไปได้ และถ้าเป็นธาตุนั้น เราลบ .

แทรกบิต trickier : เราใส่ T1 [ H1 x ( x ) ] หากมีบางองค์ประกอบและเก็บไว้ในสถานที่ที่ , และจะต้องถูกขับไล่ ( จึงชื่อ " กาเหว่า " hashing ) เราใส่ Y ในอื่น ๆที่ถูกต้องสถานที่ T2 [ H2 ( Y ) ] หากสถานที่ที่ถูกครอบครองโดยบางองค์ประกอบ Z , เราต้องขับไล่ Z และใส่มันในอื่น ๆที่ตำแหน่ง T1 [ H1 ( Z ) ] เราเป็นแบบนี้ต่อไป จนกว่าเราจะหาที่ว่างและกระบวนการเสร็จสิ้นหรือจนกว่าเราจะยอมแพ้ เพราะมันเริ่มจะยาวเกินไป ( อาจจะเพราะเราวิ่งเข้าไปในห่วง ) ถ้าหลังเกิดขึ้น เราสรุปได้ว่าแทรกล้มเหลว เราหยุด เราจะเปลี่ยนแปลงทุกอย่าง ด้วยฟังก์ชัน hash ใหม่ ( เพิ่มขนาดโต๊ะถ้าตารางจะได้รับเต็มด้วย ) มันสามารถแสดงให้เห็นว่าใส่ใช้เวลาคงที่ ( เฉลี่ย )ถ้าเราพิจารณาที่เป็นไปได้ rehashing - สมมติว่าฟังก์ชันที่ดีเพียงพอ .
สำหรับรายละเอียดเพิ่มเติมและการเปลี่ยนแปลงในรูปแบบอ่านต้นฉบับของบทความหรือหน้าวิกิพีเดียอ้างอิง

ที่นี่คือการแสดงของนกคัคคู hashing . คุณสามารถค้นหา , แทรกหรือลบองค์ประกอบหนึ่งผ่านทางกล่องข้อความอยู่ตรงกลาง
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2026 I Love Translation. All reserved.

E-mail: