คำถามติดแท็ก algorithm

อัลกอริทึมเป็นลำดับขั้นตอนที่กำหนดไว้อย่างดีซึ่งกำหนดวิธีแก้ปัญหาแบบนามธรรมให้กับปัญหา ใช้แท็กนี้เมื่อปัญหาของคุณเกี่ยวข้องกับการออกแบบอัลกอริทึม

30
เลือกองค์ประกอบสุ่มจากชุด
ฉันจะเลือกองค์ประกอบแบบสุ่มจากชุดได้อย่างไร ฉันสนใจเป็นพิเศษในการเลือกองค์ประกอบแบบสุ่มจาก HashSet หรือ LinkedHashSet ใน Java โซลูชั่นสำหรับภาษาอื่น ๆ ก็ยินดีต้อนรับ

6
สัญลักษณ์ขนาดใหญ่หมายถึงอะไร
ฉันสับสนจริง ๆ เกี่ยวกับความแตกต่างระหว่างบิ๊กโอโอเมก้าใหญ่และสัญกรณ์ทีใหญ่ ฉันเข้าใจว่าใหญ่ O เป็นขอบเขตบนและใหญ่โอเมก้าเป็นขอบเขตล่าง แต่สิ่งที่ใหญ่Ө (theta) หมายถึงอะไร ฉันได้อ่านแล้วว่ามันหมายถึงขอบเขตที่ จำกัดแต่นั่นหมายความว่าอย่างไร

22
หมายเลขสุ่มที่ไม่ซ้ำ (ไม่ใช่ซ้ำ) ใน O (1)?
ฉันต้องการสร้างตัวเลขสุ่มที่ไม่ซ้ำกันระหว่าง 0 ถึง 1,000 ที่ไม่เคยทำซ้ำ (เช่น 6 ไม่ปรากฏขึ้นสองครั้ง) แต่นั่นไม่ได้หันไปหาสิ่งที่ต้องการการค้นหา O (N) ของค่าก่อนหน้า เป็นไปได้ไหม

5
2 ^ n และ n * 2 ^ n มีความซับซ้อนในเวลาเดียวกันหรือไม่
ทรัพยากรที่ฉันพบว่ามีความซับซ้อนในเวลาไม่ชัดเจนเกี่ยวกับเวลาที่จะไม่สนใจคำศัพท์ในสมการความซับซ้อนของเวลาโดยเฉพาะกับตัวอย่างที่ไม่ใช่พหุนาม เห็นได้ชัดสำหรับฉันที่ให้บางสิ่งในรูปแบบ n 2 + n + 1 คำสองคำสุดท้ายไม่มีนัยสำคัญ โดยเฉพาะเมื่อได้รับสองหมวดหมู่คือ 2 nและ n * (2 n ) เป็นลำดับที่สองในลำดับเดียวกันเป็นลำดับแรกหรือไม่ การคูณ n เพิ่มเติมนั้นมีความหมายหรือไม่? ทรัพยากรมักจะบอกว่า x nอยู่ในรูปแบบเลขชี้กำลังและเติบโตเร็วกว่ามาก ... จากนั้นไปต่อ ฉันเข้าใจได้ว่าทำไมมันไม่ตั้งแต่ 2 nจะแซงหน้า n อย่างมาก แต่เนื่องจากพวกมันไม่ได้ถูกรวมเข้าด้วยกันมันจะมีความสำคัญอย่างมากเมื่อเปรียบเทียบสมการทั้งสองในความเป็นจริงความแตกต่างระหว่างพวกเขาจะเป็นปัจจัยของ n เสมอ ซึ่งดูเหมือนว่าสำคัญที่จะพูดน้อย

26
มีอัลกอริทึมการเรียงลำดับที่แย่กว่า Bogosort (หรือที่รู้จักกันในชื่อว่า Monkey Sort) หรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เพื่อนร่วมงานของฉันพาฉันย้อนเวลากลับไปที่มหาวิทยาลัยของฉันด้วยการอภิปรายเกี่ยวกับขั้นตอนวิธีการเรียงลำดับในเช้านี้ เราระลึกถึงรายการโปรดของเราเช่น StupidSortO(n!)และคนของเราได้รับการแน่ใจว่าเราได้เห็นขั้นตอนวิธีการจัดเรียงที่เป็น นั่นทำให้ฉันเริ่มมองหาอัลกอริธึมการเรียงลำดับที่แย่ที่สุดที่ฉันหาได้ เราตั้งสมมติฐานว่าการเรียงลำดับแบบสุ่มสมบูรณ์จะค่อนข้างแย่ (เช่นการสุ่มองค์ประกอบ - เป็นไปตามลำดับหรือไม่ไม่สุ่มอีกครั้ง) และฉันมองไปรอบ ๆ และพบว่ามันถูกเรียกอย่างชัดเจนว่า BogoSort หรือ Monkey Sort หรือบางครั้งแค่เรียงแบบสุ่ม . Monkey Sort ดูเหมือนจะมีประสิทธิภาพเคสที่แย่ที่สุดO(∞)ซึ่งเป็นประสิทธิภาพเคสที่ดีที่สุดO(n)O(n·n!)และผลการดำเนินงานเฉลี่ยของ คืออะไรอย่างเป็นทางการในขณะนี้ได้รับการยอมรับขั้นตอนวิธีการเรียงลำดับการเรียงลำดับมีประสิทธิภาพการทำงานเฉลี่ยที่เลวร้ายที่สุด (และก่อนมี beeing เลวร้ายยิ่งกว่าO(n·n!))?
178 algorithm  sorting  big-o 

27
อัลกอริทึมในการคำนวณจำนวนตัวหารของจำนวนที่กำหนด
อะไรคืออัลกอริทึมที่เหมาะสมที่สุด (ประสิทธิภาพที่ฉลาด) ในการคำนวณจำนวนตัวหารของจำนวนที่กำหนด? มันจะดีถ้าคุณสามารถให้ pseudocode หรือลิงค์ไปยังตัวอย่าง แก้ไข: คำตอบทั้งหมดเป็นประโยชน์มากขอบคุณ ฉันกำลังใช้ Sieve of Atkin จากนั้นฉันจะใช้สิ่งที่คล้ายกับที่ Jonathan Leffler ระบุ ลิงก์ที่โพสต์โดย Justin Bozonier มีข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่ฉันต้องการ

20
อัลกอริทึมการเรียงลำดับใดที่ทำงานได้ดีที่สุดกับข้อมูลที่เรียงลำดับส่วนใหญ่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ อัลกอริทึมการเรียงลำดับใดที่ทำงานได้ดีที่สุดกับข้อมูลที่เรียงลำดับส่วนใหญ่
174 algorithm  sorting 

30
อัลกอริทึม O (nlogn) - ค้นหาสามเว้นระยะเท่ากันภายในไบนารีสตริง
ฉันมีคำถามนี้ในการทดสอบอัลกอริทึมเมื่อวานและฉันไม่สามารถหาคำตอบได้ มันทำให้ฉันบ้ามากเพราะมันมีค่าประมาณ 40 คะแนน ฉันคิดว่าส่วนใหญ่ของชั้นเรียนไม่สามารถแก้ไขได้อย่างถูกต้องเพราะฉันไม่ได้คิดวิธีแก้ปัญหาใน 24 ชั่วโมงที่ผ่านมา กำหนดสตริงไบนารี่ที่มีความยาว n โดยพลการให้หาสามตัวที่เว้นระยะเท่ากันภายในสตริงหากมีอยู่ เขียนอัลกอริทึมที่แก้ปัญหานี้ในเวลา O (n * log (n)) สตริงเช่นนี้มีสามอันที่ "เว้นระยะเท่ากัน": 11100000, 0100100100 แก้ไข: เป็นหมายเลขสุ่มดังนั้นจึงควรทำงานกับหมายเลขใดก็ได้ ตัวอย่างที่ฉันให้ไว้เพื่อแสดงคุณสมบัติ "เว้นระยะเท่ากัน" ดังนั้น 1001011 คือตัวเลขที่ถูกต้อง ด้วย 1, 4 และ 7 เป็นสิ่งที่เว้นระยะเท่ากัน
173 algorithm  big-o 


4
ความกว้างแรกและความลึกก่อน
เมื่อทำการสำรวจต้นไม้ / กราฟความแตกต่างระหว่างความกว้างก่อนและระยะลึกก่อนคืออะไร ตัวอย่างการเข้ารหัสหรือรหัสเทียมใด ๆ จะดีมาก

3
อัลกอริทึม HyperLogLog ทำงานอย่างไร
ฉันได้เรียนรู้เกี่ยวกับอัลกอริทึมที่แตกต่างกันในเวลาว่างของฉันเมื่อเร็ว ๆ นี้และสิ่งที่ฉันได้พบซึ่งน่าสนใจมากเรียกว่าอัลกอริทึม HyperLogLog - ซึ่งประมาณจำนวนรายการที่ไม่ซ้ำกันในรายการ นี่เป็นเรื่องที่น่าสนใจเป็นพิเศษสำหรับฉันเพราะมันทำให้ฉันย้อนกลับไปยังยุค MySQL ของฉันเมื่อฉันเห็นว่า "ความสำคัญ" (ซึ่งฉันคิดเสมอจนกระทั่งเมื่อไม่นานมานี้ว่ามันไม่ได้ถูกคำนวณ) ดังนั้นฉันจึงรู้วิธีเขียนอัลกอริธึมในO ( n ) ที่จะคำนวณจำนวนเฉพาะของไอเท็มในอาเรย์ ฉันเขียนสิ่งนี้ใน JavaScript: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != …

14
นี่เป็นอัลกอริทึมแบบสุ่ม "ดีพอ" หรือไม่ ทำไมจึงไม่ใช้ถ้ามันเร็วกว่า
ฉันสร้างคลาสQuickRandomขึ้นมาและงานของมันคือการสร้างตัวเลขสุ่มอย่างรวดเร็ว มันง่ายมาก: แค่เอาค่าเก่ามาคูณด้วย a doubleและหาส่วนทศนิยม นี่คือQuickRandomชั้นเรียนของฉันทั้งหมด: public class QuickRandom { private double prevNum; private double magicNumber; public QuickRandom(double seed1, double seed2) { if (seed1 >= 1 || seed1 < 0) throw new IllegalArgumentException("Seed 1 must be >= 0 and < 1, not " + seed1); prevNum = seed1; if (seed2 …

19
วิธีการเปรียบเทียบสองสีเพื่อความเหมือน / ความแตกต่าง
ฉันต้องการออกแบบโปรแกรมที่สามารถช่วยฉันประเมินระหว่าง 5 สีที่กำหนดไว้ล่วงหน้าซึ่งสีใดสีหนึ่งคล้ายกับสีของตัวแปรและมีเปอร์เซ็นต์เท่าใด สิ่งหนึ่งคือฉันไม่รู้วิธีการทำอย่างนั้นทีละขั้นตอน ดังนั้นจึงเป็นการยากที่จะคิดโปรแกรม รายละเอียดเพิ่มเติม: สีมาจากภาพถ่ายของหลอดที่มีเจลซึ่งเป็นสีที่ต่างกัน ฉันมี 5 หลอดที่มีสีแตกต่างกันซึ่งแต่ละตัวเป็นตัวแทนของ 1 ใน 5 ระดับ ฉันต้องการถ่ายภาพตัวอย่างอื่น ๆ และในคอมพิวเตอร์ประเมินว่าระดับใดที่กลุ่มตัวอย่างนั้นเป็นสมาชิกโดยการเปรียบเทียบสีและฉันต้องการรู้ว่าด้วยเปอร์เซ็นต์ของการประมาณเช่นกัน ฉันต้องการโปรแกรมที่ทำสิ่งนี้: http://www.colortools.net/color_matcher.html หากคุณสามารถบอกฉันได้ว่าต้องทำอะไรถึงแม้ว่าจะเป็นสิ่งที่ฉันต้องคิดและทำด้วยตนเอง มันจะมีประโยชน์มาก
171 algorithm  colors  compare  rgb  hsv 

5
ขั้นตอนวิธีการเรียงลำดับแต่ละครั้งจะถูกใช้เมื่อใด [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ กรณีการใช้งานอะไรบ้างเมื่ออัลกอริทึมการเรียงลำดับเฉพาะเจาะจงเหนือสิ่งอื่น - ผสานการเรียงลำดับกับ QuickSort เทียบกับ heapsort เทียบกับ 'การเรียงลำดับบทนำ' ฯลฯ มีคำแนะนำในการใช้งานหรือไม่ขึ้นอยู่กับขนาดชนิดของโครงสร้างข้อมูลหน่วยความจำและแคชที่มีอยู่และประสิทธิภาพของ CPU
170 algorithm  sorting 

21
คำถามสัมภาษณ์ Google หากิน
เพื่อนของฉันกำลังสัมภาษณ์งาน หนึ่งในคำถามสัมภาษณ์ทำให้ฉันคิดว่าแค่ต้องการความคิดเห็น มีจำนวนเต็ม 2 จำนวนที่ไม่เป็นลบ: i และ j รับสมการต่อไปนี้หาทางออก (ดีที่สุด) เพื่อวนซ้ำ i และ j ในลักษณะที่เรียงลำดับผลลัพธ์ 2^i * 5^j ดังนั้นสองสามรอบแรกจะเป็นดังนี้: 2^0 * 5^0 = 1 2^1 * 5^0 = 2 2^2 * 5^0 = 4 2^0 * 5^1 = 5 2^3 * 5^0 = 8 2^1 * 5^1 = 10 2^4 …

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