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

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


12
ทำไม hashCode ของ Java () ใน String ใช้ 31 เป็นตัวคูณ
สำหรับเอกสารคู่มือ Java รหัสแฮชสำหรับStringวัตถุนั้นคำนวณเป็น: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] การใช้intเลขคณิตโดยที่s[i]เป็น ตัวอักษรที่iของสตริงnคือความยาวของสตริงและ^บ่งชี้การยกกำลัง ทำไม 31 ถูกใช้เป็นตัวคูณ ฉันเข้าใจว่าตัวคูณควรเป็นจำนวนเฉพาะที่ค่อนข้างใหญ่ ดังนั้นทำไมไม่ 29 หรือ 37 หรือ 97
480 java  string  algorithm  hash 

5
อัลกอริทึม Hi / Lo คืออะไร?
อัลกอริทึม Hi / Lo คืออะไร? ฉันพบสิ่งนี้ในเอกสารของNHibernate (เป็นวิธีหนึ่งในการสร้างคีย์ที่ไม่ซ้ำกันในส่วน 5.1.4.2) แต่ฉันไม่พบคำอธิบายที่ดีเกี่ยวกับวิธีการทำงาน ฉันรู้ว่า Nhibernate จัดการกับมันและฉันไม่จำเป็นต้องรู้ว่าข้างใน แต่ฉันแค่อยากรู้

30
วิธีที่ดีที่สุดในการย้อนกลับสตริง
ฉันแค่ต้องเขียนฟังก์ชั่นกลับสตริงใน C # 2.0 (เช่น LINQ ไม่พร้อมใช้งาน) และมากับสิ่งนี้: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length - 1; i > -1; i--) { reverse += cArray[i]; } return reverse; } โดยส่วนตัวฉันไม่ได้คลั่งไคล้ฟังก์ชั่นและเชื่อว่ามีวิธีที่ดีกว่าในการทำมัน มีอะไรบ้าง

18
Google“ คุณหมายถึงอะไร” อัลกอริทึมทำงานอย่างไร
ฉันพัฒนาเว็บไซต์ภายในสำหรับเครื่องมือการจัดการพอร์ตโฟลิโอ มีข้อมูลข้อความจำนวนมากชื่อ บริษัท ฯลฯ ฉันประทับใจในความสามารถของเครื่องมือค้นหาบางอย่างที่สามารถตอบคำถามได้อย่างรวดเร็วด้วย "คุณหมายถึง xxxx" หรือไม่ ฉันต้องสามารถใช้คิวรีผู้ใช้อย่างชาญฉลาดและตอบสนองไม่เพียง แต่ผลการค้นหาแบบดิบ แต่ยังมี "คุณหมายถึงอะไร" การตอบสนองเมื่อมีคำตอบอื่น ๆ ที่เป็นไปได้สูง [ฉันกำลังพัฒนาในASP.NET (VB - อย่าถือมันไว้กับฉัน!)] อัปเดต: ตกลงฉันจะเลียนแบบสิ่งนี้อย่างไรหากไม่มีผู้ใช้ที่ยังไม่ได้ชำระเงินนับล้าน สร้างคำที่พิมพ์ผิดสำหรับแต่ละคำที่ 'รู้จัก' หรือ 'ถูกต้อง' และทำการค้นหา? วิธีการอื่นที่หรูหรากว่านี้?

25
จะตรวจจับลูปในรายการที่เชื่อมโยงได้อย่างไร?
สมมติว่าคุณมีโครงสร้างรายการเชื่อมโยงใน Java มันประกอบไปด้วยโหนด: class Node { Node next; // some user data } และแต่ละโหนดชี้ไปที่โหนดถัดไปยกเว้นโหนดสุดท้ายซึ่งมีค่า null สำหรับถัดไป สมมติว่ามีความเป็นไปได้ที่รายการสามารถมีลูป - เช่นโหนดสุดท้ายแทนการมีค่า null มีการอ้างอิงถึงหนึ่งในโหนดในรายการที่มาก่อนมัน เป็นวิธีที่ดีที่สุดในการเขียนอะไร boolean hasLoop(Node first) ซึ่งจะกลับมาtrueถ้าโหนดที่กำหนดเป็นคนแรกของรายการที่มีวงและfalseอื่น ๆ ? คุณจะเขียนอย่างไรเพื่อให้มีเนื้อที่คงที่และใช้เวลาพอสมควร นี่คือภาพของรายการที่มีลักษณะเป็นวง:


30
สร้างการเรียงสับเปลี่ยนทั้งหมดของสตริงที่กำหนด
เป็นวิธีที่สง่าในการค้นหาพีชคณิตทั้งหมดของสตริงอะไร เช่นการเรียงสับเปลี่ยนสำหรับbaจะเป็นbaและabแต่สิ่งที่เกี่ยวกับสตริงอีกต่อไปเช่นabcdefgh? มีตัวอย่างการติดตั้ง Java หรือไม่?
418 java  algorithm 


24
เรียงลำดับที่เร็วที่สุดของอาร์เรย์ความยาวคงที่ 6 int
ตอบคำถาม Stack Overflow (อันนี้ ) ฉันพบปัญหาย่อยที่น่าสนใจ วิธีที่เร็วที่สุดในการจัดเรียงอาร์เรย์ของ 6 จำนวนเต็มคืออะไร? เนื่องจากคำถามอยู่ในระดับต่ำมาก: เราไม่สามารถสมมติว่ามีไลบรารี (และการโทรเองมีค่าใช้จ่าย) เพียงธรรมดา C เพื่อหลีกเลี่ยงการล้างท่อส่งคำสั่ง (ที่มีค่าใช้จ่ายสูงมาก ) เราควรจะลดกิ่งกระโดดและการควบคุมการไหลอื่น ๆ ทุกชนิด (เช่นที่ซ่อนอยู่หลังจุดลำดับใน&&หรือ||) ห้องมีข้อ จำกัด และการลดการลงทะเบียนและการใช้หน่วยความจำก็เป็นปัญหา คำถามนี้เป็นคำถามประเภทกอล์ฟที่เป้าหมายไม่ได้ลดความยาวของแหล่งที่มา แต่ลดระยะเวลาดำเนินการลง ผมเรียกรหัสมัน Zening 'ที่ใช้ในชื่อของหนังสือเล่มนี้เซนของการเพิ่มประสิทธิภาพรหัสโดยไมเคิล Abrashและต่อมา ทำไมมันถึงน่าสนใจมีหลายเลเยอร์: ตัวอย่างนั้นง่ายและเข้าใจง่ายและวัดผลไม่เกี่ยวข้องกับทักษะ C มากนัก มันแสดงผลของการเลือกอัลกอริทึมที่ดีสำหรับปัญหา แต่ยังมีผลกระทบของคอมไพเลอร์และฮาร์ดแวร์พื้นฐาน นี่คือการดำเนินการอ้างอิงของฉัน (ไร้เดียงสาไม่เหมาะ) และชุดทดสอบของฉัน #include <stdio.h> static __inline__ int sort6(int * d){ char j, i, …

11
รับการจับคู่สตริงที่ใกล้เคียงที่สุด
ฉันต้องการวิธีเปรียบเทียบหลาย ๆ สายกับสตริงทดสอบและคืนค่าสตริงที่มีความใกล้เคียงกับมันมากขึ้น: TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW CHOICE A : THE RED COW JUMPED OVER THE GREEN CHICKEN CHOICE B : THE RED COW JUMPED OVER THE RED COW CHOICE C : THE RED FOX JUMPED OVER THE BROWN COW (ถ้าฉันทำอย่างถูกต้อง) สตริงที่ใกล้เคียงกับ "TEST STRING" …

5
ประสิทธิภาพของการเขียนโปรแกรมการทำงานอย่างหมดจด
ไม่มีใครรู้ว่าสิ่งที่เลวร้ายที่สุดของ asymptotic ที่ช้าที่สุดที่สามารถเกิดขึ้นได้เมื่อการเขียนโปรแกรมทำงานได้อย่างหมดจดเมื่อเทียบกับความจำเป็น (เช่นการอนุญาตให้มีผลข้างเคียง)? การชี้แจงจากข้อคิดเห็นโดย itowlson : มีปัญหาใดบ้างที่อัลกอริธึมที่ไม่ทำลายที่รู้จักกันเป็นอย่างดีนั้นแย่กว่าอัลกอริธึมการทำลายที่รู้จักกันดีที่สุดและถ้าเป็นเช่นนั้นเท่าไหร่?

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


9
การเปรียบเทียบภาพ - อัลกอริทึมที่รวดเร็ว
ฉันกำลังมองหาการสร้างตารางพื้นฐานของรูปภาพแล้วเปรียบเทียบรูปภาพใหม่ใด ๆ กับที่เพื่อตรวจสอบว่ารูปภาพใหม่นั้นซ้ำกัน (หรือปิด) ที่แน่นอนของฐาน ตัวอย่างเช่น: หากคุณต้องการลดการจัดเก็บภาพ 100 เท่าของเวลาเดียวกันคุณสามารถจัดเก็บสำเนาหนึ่งชุดและให้ลิงค์อ้างอิง เมื่อป้อนรูปภาพใหม่คุณต้องการเปรียบเทียบกับรูปภาพที่มีอยู่เพื่อให้แน่ใจว่าไม่ใช่แนวคิดที่ซ้ำกันใช่หรือไม่ แนวคิดหนึ่งของฉันคือการลดขนาดย่อให้เล็กแล้วสุ่มเลือกตำแหน่ง 100 พิกเซลและเปรียบเทียบ

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