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

ในคณิตศาสตร์และวิทยาการคอมพิวเตอร์อัลกอริทึมเป็นวิธีที่มีประสิทธิภาพที่แสดงเป็นรายการ จำกัด ของคำแนะนำที่กำหนดไว้อย่างดีสำหรับการคำนวณฟังก์ชัน อัลกอริทึมที่ใช้สำหรับการคำนวณการประมวลผลข้อมูลและการใช้เหตุผลอัตโนมัติ

4
ฉันจะแยกคำออกจากประโยคและกำหนดว่าแต่ละส่วนของคำพูดคืออะไร? [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันต้องการเขียนสิ่งที่ต้องใช้ประโยคและระบุแต่ละคำที่มันมีและกำหนดว่าส่วนใดของคำพูดแต่ละคำคืออะไร ตัวอย่างเช่น สวัสดีชาวโลกฉันเป็นประโยคหนึ่ง จะกลับมานี้ verb noun, pronoun verb adjective noun ในอุดมคติแล้วฉันต้องการที่จะก้าวไปอีกขั้นหนึ่งและรับประโยคและโดยทางโปรแกรมแล้วเข้าใจว่าสิ่งที่พยายามตีความและอาจทำบางสิ่งเกี่ยวกับมัน ดังนั้นคำถามของฉันคือมีคนได้ยินบางสิ่งเช่นนี้หรือไม่?

3
Java และ. NET: เหตุใดอัลกอริธึมการเรียงลำดับแบบอื่นจึงถูกใช้โดยค่าเริ่มต้น
เพียงแค่สงสัยว่าทำไมJavaและ.NET Frameworkใช้อัลกอริทึมการเรียงลำดับที่แตกต่างกันตามค่าเริ่มต้น ใน Java Array.Sort()ใช้อัลกอริทึมMerge Sortตามค่าเริ่มต้นและตามที่Wikipedia.comพูดว่า: ใน Java เมธอด Arrays.sort () ใช้การเรียงแบบผสานหรือการปรับแบบเร็วขึ้นอยู่กับประเภทข้อมูลและสำหรับการสลับประสิทธิภาพการปรับใช้เพื่อเรียงลำดับการแทรกเมื่อเรียงลำดับองค์ประกอบอาร์เรย์น้อยกว่าเจ็ดรายการ ใน. NET Framework Array.Sort/List.Sort()ใช้Quick Sortเป็นอัลกอริทึมการเรียงลำดับเริ่มต้น ( MSDN ): List.Sort () ใช้ Array.Sort ซึ่งใช้อัลกอริทึม QuickSort การใช้งานนี้จัดเรียงไม่เสถียร นั่นคือถ้าสององค์ประกอบมีค่าเท่ากันลำดับของพวกเขาอาจไม่ถูกสงวนไว้ ในทางตรงกันข้ามการจัดเรียงที่มีเสถียรภาพจะรักษาลำดับขององค์ประกอบที่เท่ากัน จากการดูตาราง"การเปรียบเทียบอัลกอริธึม"ที่ยอดเยี่ยมเราจะเห็นได้ว่าอัลกอริธึมทั้งสองนั้นมีพฤติกรรมที่แตกต่างจากมุมมองการใช้งานหน่วยความจำและกรณีแย่ที่สุด: ทั้งสองJavaและ.NETเป็นกรอบการทำงานที่ยอดเยี่ยมสำหรับการพัฒนาโซลูชันองค์กรทั้งสองมีแพลตฟอร์มสำหรับการพัฒนาแบบฝัง เหตุใดพวกเขาจึงใช้อัลกอริธึมการเรียงลำดับที่แตกต่างกันตามค่าเริ่มต้นความคิดใด ๆ

17
สูตรทางคณิตศาสตร์ที่ดีที่ควรทราบสำหรับการเขียนโปรแกรมมีอะไรบ้าง [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ มีสูตรคณิตศาสตร์อะไรบ้างที่คุณได้เรียนรู้ซึ่งช่วยให้คุณเขียนอัลกอริธึมที่ดีขึ้นและกลายเป็นโปรแกรมเมอร์ที่ดีขึ้น ตัวอย่าง: ฉันเรียนรู้เกี่ยวกับสูตรระยะทาง ecludian: sqrt((x1-x2)^2+(y1-y2)^2)ซึ่งช่วยให้ฉันเข้าใจวิธีการค้นหาเช่นวัตถุโดยเปรียบเทียบ 2 ปัจจัย

4
ทำไมภาษาส่วนใหญ่จึงให้ min-heap แทนที่จะใช้ max-heap
ฉันเพิ่งสังเกตเห็นบางสิ่งบางอย่างและฉันสงสัยว่ามีเหตุผลใดที่ ยกเว้น C ++ (std :: priority_queue เป็น max heap) ฉันไม่รู้ภาษาอื่นที่ให้ heap สูงสุด โมดูล heapq ของ Python ใช้ min-heap แบบไบนารีที่ด้านบนของรายการ ไลบรารีของ Java มีคลาส PriorityQueue ซึ่งใช้ขั้นต่ำลำดับความสำคัญคิว ไลบรารีของ Go ประกอบด้วยโมดูล container / heap ซึ่งใช้ min-heap ที่อยู่ด้านบนของโครงสร้างข้อมูลที่เข้ากันได้ เฟรมเวิร์กหลักของ Apple ประกอบด้วยโครงสร้าง CFBinaryHeap ซึ่งใช้ min-heap ฉันพบว่า max-heap ใช้งานง่ายกว่า min-heap และฉันเชื่อว่าในทางเทคนิคแล้วความแตกต่างในการใช้งานเป็นเพียงคำถามของการเปลี่ยนโอเปอเรเตอร์เปรียบเทียบ มีเหตุผลจริงหรือไม่? แอปพลิเคชันส่วนใหญ่ต้องการนาทีแทนที่จะเป็นฮีปสูงสุดหรือไม่ ขอบคุณล่วงหน้า

5
ความได้เปรียบในการเป็นคนแรกที่จัดการกับอัลกอริทึมใหม่หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว สมมติว่าฉันได้สร้างอัลกอริทึม (DSP) ใหม่ ฉันจะมีข้อได้เปรียบบ้างหรือไม่ถ้าฉันเปิดแหล่งข้อมูลอัลกอริทึมภายใต้ลิขสิทธิ์ของ copyleft (GPL เป็นต้น) จากสิ่งที่ฉันรู้เกี่ยวกับการให้สิทธิ์ใช้งานนี้ควรปิดกั้นผู้ใช้ไม่ให้ใช้รหัสเดียวกันกับแหล่งข้อมูลปิด แต่พวกเขาจะสามารถ "เขียน" อัลกอริทึมเป็นแหล่งข้อมูลปิดได้หรือไม่ หมายเหตุ: ฉันไม่รู้จริงๆว่าอัลกอริทึมนั้นใหม่ แต่ยังไม่ได้เปิดเป็นโอเพนซอร์ส เนื่องจากฉันมาจากสหภาพยุโรปฉันจำเป็นต้องค้นหาสิทธิบัตรซอฟต์แวร์หากฉันต้องการลอกเลียนแบบหรือไม่

1
ฉันควรใช้อัลกอริทึมใดในการสร้างคุณลักษณะการกำหนดตารางพนักงานโดยอัตโนมัติ
ลองนึกภาพธุรกิจในท้องถิ่นขนาดเล็ก (ในกรณีของฉันคือศูนย์รับเลี้ยงสุนัข) กับพนักงานนอกเวลาไม่กี่โหล เป้าหมายคือการสร้างตารางพนักงานรายสัปดาห์โดยอัตโนมัติ คำถามของฉันเกี่ยวกับอัลกอริทึมวิธีการสำรวจปัญหานี้ มีข้อ จำกัด มากมายที่ต้องจำไว้คือส่วนใหญ่ (1) ความพร้อมของพนักงานและ (2) ความต้องการของแต่ละกะไม่ใช่แค่จำนวนพนักงานสำหรับแต่ละกะ แต่เป็นทักษะที่จำเป็นสำหรับแต่ละกะ (เช่นสำหรับกะที่แน่นอน คุณอาจต้องการคนที่รู้วิธีขับรถเพื่อไปรับสุนัขหรือส่งคนอื่น ๆ บางคนที่รู้วิธีให้สุนัขอาบน้ำ ฯลฯ ) ข้อ จำกัด อื่น ๆ รวมถึงสิ่งต่าง ๆ เช่นการหลีกเลี่ยงหรือต้องการคอมโบของเจ้าหน้าที่ - อาจเป็นเพราะความขัดแย้งทางบุคลิกภาพในมือข้างหนึ่งหรือความต้องการการฝึกอบรมโดยออสโมซิสจากเจ้าหน้าที่อาวุโสไปจนถึงพนักงานระดับจูเนียร์ นอกจากนี้ยังมีการตั้งค่าที่จะต้องพิจารณา พนักงานบางคนชอบตอนเช้าสองวันติดต่อกันแทนที่จะพูดวันจันทร์และวันพฤหัสบดี ฯลฯ เรารู้ว่าเราไม่สามารถรองรับความชอบของทุกคนได้เสมอ ในความเป็นจริงเรามีลำดับขั้นที่พนักงานจะได้รับการเลือกเป็นอันดับแรก ฉันมีลางสังหรณ์ว่ามีวิธีที่จะลดหรือแสดงปัญหานี้ในอัลกอริทึมที่มีอยู่แล้วที่แก้ไขแล้ว แต่ฉันไม่รู้ว่าอัลกอริทึมใดที่จะสำรวจ อัลกอริทึมเฉพาะที่มีอยู่ใดที่จะมีแนวโน้มมากที่สุด?
18 algorithms 

2
นี่เป็นปัญหาประเภทใดและฉันต้องรู้คณิตศาสตร์อะไรเพื่อแก้ปัญหา
การเพาะเห็ดต้องใช้องค์ประกอบทางเคมีที่แม่นยำของสารตั้งต้น สมมติว่าเรากำลังเติบโตอยู่ใน shitakes และนี่คือองค์ประกอบที่ต้องการของวัสดุพิมพ์: Nitrogen | Benzene | Toluene | Dioxygen Diflouride 5% | 5% | 10% | 80% เราต้องการสร้างพื้นผิวที่เหมาะสมจากวัสดุที่เรามีอยู่ในมือซึ่งเรารู้องค์ประกอบทางเคมีของ Material | Nitrogen | Benzene | Toluene | Dioxygen Diflouride apples | 5% | 0% | 5% | 90% oranges | 20% | 20% | 50% | 10% Etc... คนเราคำนวณสิ่งนี้ได้อย่างไร …

2
Strassen เกิดขึ้นกับวิธีการคูณเมทริกซ์ของเขาอย่างไร
อัลกอริธึมการคูณเมทริกซ์ที่มีชื่อเสียงของ Strassen เป็นวิธีปฏิบัติที่แท้จริงสำหรับเราเนื่องจากจะช่วยลดความซับซ้อนของเวลาจาก O (n 3 ) เป็น O (n 2.8 ) แบบดั้งเดิม แต่จากแหล่งข้อมูลทั้งหมดที่ฉันเคยผ่านมาแม้แต่หนังสือของ Cormen และ Steven Skienna พวกเขาไม่ได้ระบุอย่างชัดเจนว่า Strassen คิดอย่างไรเกี่ยวกับเรื่องนี้ เหตุผลของอัลกอริธึมการคูณเมทริกซ์ของ Strassen คืออะไร นี่เป็นอุบัติเหตุที่โชคดีหรือมีบางสิ่งที่ลึกซึ้งกว่าอยู่ในนั้น

6
เยี่ยมชมจุดบนเส้นจำนวนในขณะที่ลดค่าใช้จ่ายที่ไม่เกี่ยวข้องกับระยะทาง
ฉันต้องการความช่วยเหลือในปัญหา ICM ACM นี้ แนวคิดปัจจุบันของฉันคือการสร้างแบบจำลองนี้เป็นปัญหาเส้นทางที่สั้นที่สุดซึ่งอธิบายไว้ในคำชี้แจงปัญหา ปัญหา มีN = 1000ภาชนะบรรจุกากนิวเคลียร์ที่ตั้งอยู่ตามแนวเส้นจำนวน 1-D ที่แตกต่างจากตำแหน่งยกเว้น-500,000 to 500,000 x=0บุคคลได้รับมอบหมายให้รวบรวมถังขยะทั้งหมด แต่ละวินาทีที่ไม่ได้เก็บขยะก็จะปล่อยรังสีออกมา 1 หน่วย บุคคลนั้นเริ่มต้นที่x = 0และสามารถเคลื่อนย้าย1หน่วยทุกวินาทีและการรวบรวมขยะต้องใช้เวลาเล็กน้อย เราต้องการค้นหาปริมาณรังสีขั้นต่ำที่ปล่อยออกมาขณะรวบรวมภาชนะทั้งหมด ตัวอย่างอินพุต: 4[-12, -2, 3, 7]ตู้คอนเทนเนอร์ที่ตั้งอยู่ที่ คำสั่งที่ดีที่สุดในการรวบรวมภาชนะเหล่านี้คือ[-2, 3, 7, -12]สำหรับการปล่อย50หน่วยขั้นต่ำ คำอธิบาย: บุคคลนั้นจะไป-2ใน 2 วินาทีและในช่วงเวลา2 unitsของการแผ่รังสีนั้นจะถูกปล่อยออกมา จากนั้นเขาก็ไปที่3(ระยะทาง:) 5เพื่อให้ถังปล่อย2 + 5 = 7หน่วยรังสี เขาใช้เวลา4ไม่กี่วินาทีที่จะได้รับไปx = 7ที่บาร์เรลที่ได้ปล่อยออก2 + 5 + 4 = 11หน่วย …
18 algorithms  graph 

6
เมื่อใดที่จะชอบวิธีการแก้ปัญหาทั่วไปมากกว่าการแก้ปัญหาเฉพาะกรณี
ในการเขียนโปรแกรมเรามักจะเผชิญกับทางเลือก: ครอบคลุมแต่ละกรณีการใช้งานเป็นไปได้ทีละรายการหรือแก้ปัญหาทั่วไป: เห็นได้ชัดว่าการแก้ปัญหาในทันทีนั้นเร็วขึ้นอย่างไรก็ตามการสร้างโซลูชันทั่วไปจะช่วยประหยัดเวลาในอนาคต ฉันจะรู้ได้อย่างไรว่าเมื่อใดที่ดีที่สุดที่จะลองและครอบคลุมรายการที่ จำกัด ของกรณีหรือสร้างระบบทั่วไปเพื่อครอบคลุมความเป็นไปได้ทั้งหมด

5
ผลกระทบของ P = NP คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังเตรียมตัวสำหรับการทดสอบและฉันไม่สามารถหาคำตอบที่ชัดเจนสำหรับคำถาม: สิ่งที่จะเป็นผลกระทบของการพิสูจน์ PTIME = NPTIME ฉันตรวจสอบวิกิพีเดียและเพิ่งพูดถึงว่ามันจะมี "ผลกระทบอย่างลึกซึ้งต่อคณิตศาสตร์ AI ขั้นตอนวิธี .. " เป็นต้น ใครสามารถให้คำตอบฉันได้บ้าง

1
การเปรียบเทียบจำนวนเต็มทำงานอย่างไรภายใน
เช่นเมื่อเปรียบเทียบจำนวนเต็มสองจำนวนดังนี้ในภาษา C-like: if (3 > 2) { // do something } การตัดสินว่า 3 นั้นมากกว่า 2 (จริง) หรือไม่ (เท็จ) ที่ทำขึ้นภายใน?

6
TDD และการครอบคลุมการทดสอบที่สมบูรณ์ในกรณีที่จำเป็นต้องมีการทดสอบแบบเลขชี้กำลัง
ฉันกำลังทำงานกับเครื่องมือเปรียบเทียบรายการเพื่อช่วยในการจัดเรียงรายการผลการค้นหาที่ไม่เรียงลำดับตามข้อกำหนดเฉพาะจากลูกค้าของเรา ข้อกำหนดเรียกร้องให้อัลกอริทึมความเกี่ยวข้องจัดอันดับด้วยกฎต่อไปนี้ตามลำดับความสำคัญ: ตรงกับชื่อ คำค้นหาทั้งหมดในชื่อหรือคำพ้องความหมายของผลลัพธ์ คำค้นหาบางคำในชื่อหรือคำพ้องความหมายของผลลัพธ์ (% จากมากไปหาน้อย) คำทั้งหมดของคำค้นหาในคำอธิบาย คำบางส่วนของคำค้นหาในคำอธิบาย (% มากไปหาน้อย) วันที่แก้ไขล่าสุดจากมากไปน้อย ตัวเลือกการออกแบบตามธรรมชาติสำหรับตัวเปรียบเทียบนี้ดูเหมือนจะเป็นอันดับที่จัดอันดับขึ้นอยู่กับพลังของ 2 ผลรวมของกฎที่สำคัญน้อยกว่านั้นไม่สามารถเป็นได้มากกว่าการจับคู่เชิงบวกกับกฎที่มีความสำคัญสูงกว่า นี่คือความสำเร็จโดยคะแนนต่อไปนี้: 32 16 8 (คะแนน tie-breaker รองตาม% จากมากไปน้อย) 4 2 (คะแนน tie-breaker รองตาม% จากมากไปน้อย) 1 ในจิตวิญญาณ TDD ฉันตัดสินใจเริ่มต้นด้วยการทดสอบหน่วยของฉันก่อน ในการมีกรณีทดสอบสำหรับแต่ละสถานการณ์ที่ไม่ซ้ำกันจะต้องมีอย่างน้อย 63 กรณีทดสอบที่ไม่ซ้ำกันโดยไม่พิจารณากรณีทดสอบเพิ่มเติมสำหรับตรรกะตัวแบ่งลำดับที่สองในกฎข้อที่ 3 และ 5 ซึ่งดูเหมือนจะเป็นเรื่องที่น่ากลัว การทดสอบจริงจะน้อยลง ตามกฎจริงเองกฎบางอย่างทำให้มั่นใจได้ว่ากฎที่ต่ำกว่าจะเป็นจริงเสมอ (เช่นเมื่อ 'คำค้นหาทั้งหมดปรากฏในคำอธิบาย' จากนั้นกฎ 'คำค้นหาคำบางคำที่ปรากฏในคำอธิบาย' จะเป็นจริงเสมอ) ยังคงมีระดับความพยายามในการเขียนแต่ละกรณีทดสอบเหล่านี้คุ้มค่าหรือไม่ นี่เป็นระดับของการทดสอบที่มักจะถูกเรียกเมื่อพูดถึงการครอบคลุมการทดสอบ 100% …

5
อัลกอริทึมสำหรับเปอร์เซ็นต์โดยไม่ทราบจำนวนรวม
สมมติว่ามีnเส้นสำหรับสายด่วน เมื่อใดก็ตามที่ลูกค้าโทรสายด่วนสายจะถูกส่งต่อไปยังหนึ่งในnสาย และฉันต้องการกำหนดเปอร์เซ็นต์ของการโทรไปยังแต่ละบรรทัด n สมมติว่ามีสองบรรทัดและหนึ่งบรรทัดถูกกำหนด 60% และอื่น ๆ คือ 40% จำนวนการโทรทั้งหมดคือ 10 ดังนั้นสายแรกจะได้รับ 6 การโทรและครั้งที่สองจะได้รับการโทร 4 ครั้ง ฉันรู้เปอร์เซ็นต์ของการโทรไปยังแต่ละสายล่วงหน้า แต่ปัญหาคือฉันไม่รู้จำนวนการโทรที่จะได้รับในหนึ่งวัน ฉันจะกระจายจำนวนการโทรโดยไม่รู้การโทรทั้งหมดได้อย่างไร?

4
ฉันสามารถใช้อัลกอริทึมใดเพื่อตรวจสอบว่าบทความหรือโพสต์ซ้ำกันหรือไม่
ฉันพยายามตรวจสอบว่าบทความหรือโพสต์ฟอรัมเป็นรายการซ้ำภายในฐานข้อมูลหรือไม่ ฉันได้รับความคิดนี้มาสรุปว่าคนที่ทำซ้ำเนื้อหาจะใช้หนึ่งในสาม (จากมากไปหายากที่จะตรวจจับ): คัดลอกง่ายวางข้อความทั้งหมด คัดลอกและวางส่วนของข้อความที่รวมเข้ากับของตนเอง คัดลอกบทความจากไซต์ภายนอกและปลอมแปลงเป็นบทความของตนเอง เตรียมข้อความสำหรับการวิเคราะห์ โดยทั่วไปมีความผิดปกติใด ๆ เป้าหมายคือการทำให้ข้อความเป็น "บริสุทธิ์" ที่สุด เพื่อผลลัพธ์ที่แม่นยำยิ่งขึ้นข้อความจะได้รับการ "มาตรฐาน" โดย: การลอกช่องว่างสีขาวที่ซ้ำกันและตัดส่วนนำและต่อท้าย บรรทัดใหม่มีมาตรฐานถึง \ n แท็ก HTML ถูกลบออก การใช้ RegEx เรียกว่า Daring Fireball URL จะถูกปล้น ฉันใช้รหัส BB ในแอปพลิเคชันของฉันเพื่อไปที่ (ä) ccented และต่างประเทศ (นอกเหนือจาก Enlgish) จะถูกแปลงเป็นแบบฟอร์มที่ไม่ใช่ต่างประเทศ ฉันเก็บข้อมูลเกี่ยวกับแต่ละบทความใน (1) ตารางสถิติและใน (2) ตารางคำหลัก (1) ตารางสถิติสถิติ ต่อไปนี้จัดเก็บเกี่ยวกับเนื้อหาที่เป็นข้อความ (คล้ายกับโพสต์นี้) ความยาวข้อความ นับจดหมาย การนับจำนวนคำ …
17 algorithms 

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