คำถามติดแท็ก data-structures

โครงสร้างข้อมูลเป็นวิธีการจัดระเบียบข้อมูลในแบบที่ช่วยให้คุณสมบัติเฉพาะของข้อมูลนั้นถูกสอบถามและ / หรือปรับปรุงอย่างมีประสิทธิภาพ

6
รักษาลำดับด้วย LINQ
ฉันใช้ LINQ กับคำสั่ง Objects ในอาเรย์ที่สั่ง การดำเนินการใดที่ฉันไม่ควรทำเพื่อให้แน่ใจว่าลำดับของอาร์เรย์จะไม่เปลี่ยนแปลง?

17
JavaScript Hashmap เทียบเท่า
ชัดเจนในการปรับปรุง 3 ในคำตอบนี้สัญกรณ์นี้: var hash = {}; hash[X] ไม่จริงกัญชาวัตถุX; จริงๆแล้วมันจะแปลงXเป็นสตริง (ผ่านทาง.toString()ถ้าเป็นวัตถุหรือมีการแปลงในตัวสำหรับประเภทดั้งเดิมต่างๆ) แล้วดูสตริงนั้นโดยไม่ต้องแปลงเป็น " hash" ความเท่าเทียมกันของวัตถุยังไม่ได้รับการตรวจสอบ - หากวัตถุสองชิ้นที่แตกต่างกันมีการแปลงสตริงเหมือนกันพวกเขาก็จะเขียนทับกัน ให้นี้ - มีการใช้งานที่มีประสิทธิภาพของ hashmaps ใน javascript หรือไม่ (ตัวอย่างเช่นผลการค้นหาครั้งที่ 2 ของ Google ที่ให้javascript hashmapผลการดำเนินการซึ่งเป็น O (n) สำหรับการดำเนินการใด ๆ ผลการทดสอบอื่น ๆ นั้นไม่สนใจความจริงที่ว่าวัตถุที่แตกต่างกัน

16
ทำไมฟังก์ชันแฮชควรใช้โมดูลัสของจำนวนเฉพาะ?
เมื่อนานมาแล้วฉันซื้อโครงสร้างข้อมูลที่จองไว้ที่ราคาต่อรอง $ 1.25 ในนั้นคำอธิบายสำหรับฟังก์ชั่นคร่ำเครียดบอกว่ามันควรจะปรับเปลี่ยนในที่สุดโดยจำนวนเฉพาะเพราะ "ธรรมชาติของคณิตศาสตร์" คุณคาดหวังอะไรจากหนังสือราคา $ 1.25 อย่างไรก็ตามฉันมีเวลาหลายปีที่จะคิดเกี่ยวกับธรรมชาติของคณิตศาสตร์และยังไม่สามารถเข้าใจได้ การกระจายของตัวเลขเป็นจริงมากขึ้นแม้ว่าจะมีถังจำนวนมากหรือ หรือนี่เป็นเรื่องโปรแกรมเมอร์เก่าที่ทุกคนยอมรับเพราะทุกคนอื่นยอมรับมันได้หรือไม่

12
ความแตกต่างระหว่างต้นไม้ไบนารีและต้นไม้ค้นหาแบบทวิภาค
ทุกคนสามารถอธิบายความแตกต่างระหว่างแผนภูมิต้นไม้และต้นไม้ค้นหาแบบไบนารี ด้วยตัวอย่างได้หรือไม่?

12
วิธีการใช้รายการใน R อย่างถูกต้อง?
พื้นหลังโดยย่อ: ภาษาการเขียนโปรแกรมร่วมสมัยส่วนใหญ่ (มากที่สุด) ที่ใช้กันอย่างแพร่หลายมีอย่างน้อยหนึ่ง ADTs [ประเภทข้อมูลนามธรรม] โดยทั่วไปโดยเฉพาะ สตริง (ลำดับประกอบด้วยอักขระ) รายการ (ชุดของค่าสั่ง) และ ชนิดที่ยึดตามแผนที่ (อาร์เรย์ที่ไม่ได้เรียงลำดับที่จับคู่คีย์กับค่า) ในภาษาการเขียนโปรแกรม R ทั้งสองจะถูกนำมาใช้เป็นcharacterและvectorตามลำดับ เมื่อฉันเริ่มเรียนรู้ R มีสองสิ่งที่เห็นได้ชัดเจนตั้งแต่เริ่มต้น: listเป็นประเภทข้อมูลที่สำคัญที่สุดใน R (เพราะเป็นคลาสผู้ปกครองสำหรับ R data.frame) และที่สองฉันไม่เข้าใจวิธีการทำงานอย่างน้อย ไม่ดีพอที่จะใช้อย่างถูกต้องในรหัสของฉัน สำหรับสิ่งหนึ่งที่ดูเหมือนว่าlistประเภทข้อมูลของ R คือการใช้แผนที่ ADT ( dictionaryใน Python, NSMutableDictionaryObjective C, hashPerl และ Ruby, object literalJavascript และอื่น ๆ ) ตัวอย่างเช่นคุณสร้างพวกเขาเช่นเดียวกับที่คุณทำกับพจนานุกรม Python โดยส่งผ่านคู่ของคีย์ - ค่าไปยังตัวสร้าง (ซึ่งใน …

3
โครงสร้างข้อมูลพื้นฐานที่ใช้สำหรับ Redis คืออะไร
ฉันพยายามตอบคำถามสองข้อในรายการสรุป: โครงสร้างข้อมูลพื้นฐานที่ใช้สำหรับ Redis คืออะไร และข้อดีข้อเสีย / ข้อเสีย / การใช้งานหลักของแต่ละประเภทคืออะไร? ดังนั้นฉันได้อ่านรายการ Redis ถูกนำมาใช้จริงกับรายการที่เชื่อมโยง แต่สำหรับประเภทอื่น ๆ ฉันไม่สามารถขุดข้อมูลใด ๆ ได้ นอกจากนี้หากใครบางคนต้องสะดุดกับคำถามนี้และไม่มีข้อสรุประดับสูงของข้อดีข้อเสียของการปรับเปลี่ยนหรือการเข้าถึงโครงสร้างข้อมูลที่แตกต่างกันพวกเขาจะมีรายการที่สมบูรณ์ว่าควรใช้ประเภทใดประเภทหนึ่งเพื่ออ้างอิงได้ดีที่สุด โดยเฉพาะฉันกำลังมองหาร่างทุกประเภท: สตริง, รายการ, ชุด, zset และแฮ โอ้ฉันได้ดูที่บทความเหล่านี้และอื่น ๆ : http://redis.io/topics/data-types http://redis.io/topics/data-types-intro http://redis.io/topics/faq


3
มีการใช้พจนานุกรมในตัวของ Python อย่างไร?
ไม่มีใครรู้วิธีการใช้งานพจนานุกรมในตัวสำหรับไพ ธ อน? ความเข้าใจของฉันคือมันเป็นตารางแฮช แต่ฉันไม่สามารถหาคำตอบที่ชัดเจนได้

14
ต้นไม้ B กับต้นไม้ B + แตกต่างกันอย่างไร
ในขต้นไม้คุณสามารถจัดเก็บทั้งกุญแจและข้อมูลในโหนดภายในและใบแต่ในต้นไม้ B +คุณมีการจัดเก็บข้อมูลในที่โหนดใบเท่านั้น มีข้อได้เปรียบอะไรบ้างจากการทำข้างต้นในต้นไม้ b +? ทำไมไม่ใช้ b-trees แทน b + trees ทุกที่เพราะพวกเขาดูเหมือนว่าเร็วขึ้น? ฉันหมายความว่าทำไมคุณต้องทำซ้ำคีย์ (data) ในต้นไม้ b +



6
ความลึกและความสูงของต้นไม้แตกต่างกันอย่างไร
นี่เป็นคำถามง่าย ๆ จากทฤษฎีอัลกอริทึม ความแตกต่างระหว่างสิ่งเหล่านี้คือในกรณีหนึ่งคุณจะนับจำนวนโหนดและจำนวนขอบอื่น ๆ บนเส้นทางที่สั้นที่สุดระหว่างรูทและโหนดคอนกรีต อันไหน

19
โครงสร้างข้อมูลแบบต้นไม้ใน C #
ฉันกำลังมองหาโครงสร้างข้อมูลแบบต้นไม้หรือกราฟใน C # แต่ฉันคิดว่าไม่มีให้ การตรวจสอบโครงสร้างข้อมูลอย่างกว้างขวางโดยใช้ C # 2.0อธิบายถึงสาเหตุเล็กน้อย มีห้องสมุดที่สะดวกซึ่งมักใช้เพื่อให้การทำงานนี้หรือไม่ อาจผ่านรูปแบบกลยุทธ์เพื่อแก้ไขปัญหาที่นำเสนอในบทความ ฉันรู้สึกงี่เง่าที่จะใช้ต้นไม้ของตัวเองเช่นเดียวกับที่ฉันใช้ ArrayList ของตัวเอง ฉันต้องการต้นไม้ทั่วไปที่ไม่สมดุล คิดว่าเป็นต้นไม้ไดเรกทอรี C5 ดูดี แต่โครงสร้างต้นไม้ของพวกมันดูเหมือนจะถูกนำไปใช้เป็นต้นไม้สีแดงดำที่สมดุลที่เหมาะสมกว่าในการค้นหามากกว่าการแสดงลำดับชั้นของโหนด

18
ทำไม java.util.Set จึงไม่ได้รับ (ดัชนี int)
ฉันแน่ใจว่ามีเหตุผลที่ดี แต่มีคนช่วยอธิบายได้ว่าทำไมjava.util.Setอินเทอร์เฟซขาดget(int Index)หรือget()วิธีการที่คล้ายกัน? ดูเหมือนว่าฉากนั้นยอดเยี่ยมมากสำหรับการใส่สิ่งต่าง ๆ แต่ฉันไม่สามารถหาวิธีที่สง่างามในการรับไอเท็มชิ้นเดียวจากมัน ถ้าฉันรู้ว่าฉันต้องการไอเท็มแรกฉันสามารถใช้set.iterator().next()แต่อย่างอื่นมันดูเหมือนว่าฉันต้องส่ง Array เพื่อดึงไอเท็มที่ดัชนีเฉพาะหรือไม่? วิธีการที่เหมาะสมในการดึงข้อมูลจากชุดคืออะไร? (นอกเหนือจากการใช้ตัววนซ้ำ) ฉันแน่ใจว่าความจริงที่ว่ามันถูกแยกออกจาก API หมายความว่ามีเหตุผลที่ดีที่จะไม่ทำสิ่งนี้ - ใครบางคนได้โปรดให้ความรู้แก่ฉันได้ไหม แก้ไข: คำตอบที่ยอดเยี่ยมบางอย่างที่นี่และบางคำพูดที่ว่า "บริบทเพิ่มเติม" สถานการณ์เฉพาะคือการทดสอบ dbUnit ซึ่งฉันสามารถยืนยันได้อย่างสมเหตุสมผลว่าชุดที่ส่งคืนจากแบบสอบถามมีเพียง 1 รายการและฉันพยายามเข้าถึงรายการนั้น อย่างไรก็ตามคำถามจะมีความถูกต้องมากขึ้นหากไม่มีสถานการณ์สมมติเนื่องจากยังคงเน้นไปที่: ความแตกต่างระหว่างชุดและรายการคืออะไร ขอบคุณทุกคำตอบที่น่าอัศจรรย์ด้านล่าง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.