คำถามติดแท็ก computer-science

วิทยาการคอมพิวเตอร์ (CS) เป็นศาสตร์ที่อยู่เบื้องหลังการเขียนโปรแกรม เป็นการศึกษาพื้นฐานทางทฤษฎีของข้อมูลและการคำนวณและเทคนิคการปฏิบัติสำหรับการนำไปใช้และการประยุกต์ใช้ในระบบคอมพิวเตอร์

6
“ P = NP คืออะไร” และทำไมเป็นคำถามที่โด่งดังเช่นนี้ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คำถามว่า P = NP น่าจะเป็นที่โด่งดังที่สุดในสาขาวิทยาศาสตร์คอมพิวเตอร์ทั้งหมดหรือไม่ มันหมายความว่าอะไร? และทำไมมันจึงน่าสนใจ? โอ้และสำหรับเครดิตเพิ่มเติมโปรดโพสต์หลักฐานความจริงหรือเท็จ :)

9
มีความแตกต่างระหว่าง foreach และแผนที่หรือไม่?
ตกลงนี่เป็นคำถามเกี่ยวกับวิทยาศาสตร์คอมพิวเตอร์มากกว่าคำถามที่ใช้ภาษาใดภาษาหนึ่ง แต่มีความแตกต่างระหว่างการทำแผนที่และการดำเนินการ foreach หรือไม่? หรือพวกเขาเป็นชื่อที่แตกต่างกันสำหรับสิ่งเดียวกันหรือไม่

19
วิธีการตรวจสอบลำดับที่เพิ่มขึ้นที่ยาวที่สุดโดยใช้การเขียนโปรแกรมแบบไดนามิก?
ฉันมีชุดจำนวนเต็ม ฉันต้องการค้นหาชุดลำดับที่เพิ่มขึ้นที่ยาวที่สุดโดยใช้การเขียนโปรแกรมแบบไดนามิก

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

9
"ไม่พิมพ์" หมายถึง "พิมพ์แบบไดนามิก" ในโลกวิชาการ CS หรือไม่
ฉันกำลังอ่านสำรับภาพนิ่งที่ระบุว่า "ไม่ได้พิมพ์ JavaScript" สิ่งนี้ขัดแย้งกับสิ่งที่ฉันคิดว่าเป็นจริงดังนั้นฉันจึงเริ่มขุดเพื่อลองและเรียนรู้เพิ่มเติม ทุกคำตอบของJavaScript เป็นภาษาที่ไม่ได้พิมพ์หรือไม่ บอกว่า JavaScript ไม่ได้ถูกพิมพ์และนำเสนอตัวอย่างของรูปแบบต่างๆของการพิมพ์คงที่แบบไดนามิกที่แข็งแกร่งและอ่อนแอที่ฉันคุ้นเคยและมีความสุขกับ .. ดังนั้นจึงไม่ใช่วิธีที่จะไป ดังนั้นฉันจึงถามเบรนแดนเอชผู้สร้าง JavaScript และเขาพูดว่า: ประเภทวิชาการใช้ "untyped" เพื่อหมายถึง "ไม่มีประเภทคงที่" พวกเขาฉลาดพอที่จะเห็นว่าค่ามีประเภท (duh!) บริบทของเรื่อง กลุ่มวิทยาการคอมพิวเตอร์ที่มุ่งเน้นด้านวิชาการใช้ "untyped" เป็นคำพ้องความหมายของ "การพิมพ์แบบไดนามิก" (และนี่ถูกต้องหรือไม่?) หรือมีบางสิ่งที่ลึกซึ้งกว่านี้ที่ฉันหายไป? ฉันเห็นด้วยกับเบรนแดนว่าบริบทมีความสำคัญ แต่การอ้างอิงใด ๆ ของคำอธิบายจะดีมากเพราะหนังสือ "ไปที่" ปัจจุบันของฉันไม่ได้เล่นบอลในหัวข้อนี้ ฉันต้องการทำสิ่งนี้ลงเพื่อให้ฉันสามารถปรับปรุงความเข้าใจของฉันและเพราะแม้แต่ Wikipedia ก็ไม่ได้อ้างถึงการใช้ทางเลือกนี้ (ที่ฉันสามารถหาได้) ฉันไม่ต้องการยุ่งกับการใช้คำหรือถามถึงการใช้คำในอนาคตถ้าฉันผิด :-) (ฉันเคยเห็น Smalltalker อันดับต้น ๆ บอกว่า Smalltalk ก็คือ "ไม่พิมพ์" เช่นกันดังนั้นมันจึงไม่ใช่ครั้งเดียวซึ่งเป็นสิ่งที่ทำให้ฉันออกจากภารกิจนี้! :-))

12
อนุญาตให้ใช้คีย์ที่ซ้ำกันในคำจำกัดความของแผนภูมิการค้นหาแบบไบนารีหรือไม่
ฉันพยายามค้นหาคำจำกัดความของแผนภูมิการค้นหาแบบไบนารีและฉันค้นหาคำจำกัดความที่แตกต่างกันทุกที่ บางคนบอกว่าสำหรับทรีย่อยที่กำหนดคีย์ลูกด้านซ้ายจะน้อยกว่าหรือเท่ากับรูท บางคนบอกว่าสำหรับทรีย่อยใด ๆ คีย์ลูกที่ถูกต้องจะมีค่ามากกว่าหรือเท่ากับราก และหนังสือโครงสร้างข้อมูลวิทยาลัยเก่าของฉันบอกว่า "ทุกองค์ประกอบมีคีย์และไม่มีสององค์ประกอบที่มีคีย์เดียวกัน" มีคำจำกัดความสากลของ bst หรือไม่? โดยเฉพาะอย่างยิ่งเกี่ยวกับสิ่งที่จะทำกับต้นไม้ที่มีหลายอินสแตนซ์ของคีย์เดียวกัน แก้ไข: บางทีฉันไม่ชัดเจนคำจำกัดความที่ฉันเห็นคือ 1) left <= root <right 2) ซ้าย <root <= ขวา 3) ซ้าย <root <ขวาซึ่งไม่มีคีย์ที่ซ้ำกันอยู่

7
ความสอดคล้องในที่สุดในภาษาอังกฤษล้วน
ฉันมักจะได้ยินเกี่ยวกับความสอดคล้องในท้ายที่สุดในสุนทรพจน์ที่แตกต่างกันเกี่ยวกับ NoSQL กริดข้อมูล ฯลฯ ดูเหมือนว่าคำจำกัดความของความสอดคล้องในที่สุดจะแตกต่างกันไปในหลายแหล่ง (และอาจขึ้นอยู่กับการจัดเก็บข้อมูลที่เป็นรูปธรรม) ใครช่วยให้คำอธิบายง่ายๆว่าความสอดคล้องในที่สุดคืออะไรโดยทั่วไปไม่เกี่ยวข้องกับการจัดเก็บข้อมูลที่เป็นรูปธรรม?

30
การเรียกซ้ำคืออะไรและฉันควรใช้เมื่อใด
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ หนึ่งในหัวข้อที่ดูเหมือนจะเกิดขึ้นเป็นประจำในรายชื่ออีเมลและการสนทนาออนไลน์คือข้อดี (หรือขาดไป) ของการเรียนปริญญาวิทยาศาสตร์คอมพิวเตอร์ ข้อโต้แย้งที่ดูเหมือนจะเกิดขึ้นครั้งแล้วครั้งเล่าสำหรับฝ่ายลบคือพวกเขาเขียนโค้ดมาหลายปีแล้วและไม่เคยใช้การเรียกซ้ำ ดังนั้นคำถามคือ: การเรียกซ้ำคืออะไร? ฉันจะใช้การเรียกซ้ำเมื่อใด ทำไมคนไม่ใช้การเรียกซ้ำ?

12
Hash Code และ Checksum - ความแตกต่างคืออะไร?
ความเข้าใจของฉันคือรหัสแฮชและการตรวจสอบเป็นสิ่งที่คล้ายคลึงกันนั่นคือค่าตัวเลขซึ่งคำนวณจากบล็อกข้อมูลซึ่งค่อนข้างไม่ซ้ำกัน กล่าวคือความน่าจะเป็นของสองช่วงตึกของข้อมูลที่ให้ค่าแฮช / การตรวจสอบตัวเลขเดียวกันนั้นต่ำพอที่จะละเว้นได้ตามวัตถุประสงค์ของแอปพลิเคชัน เรามีคำสองคำสำหรับสิ่งเดียวกันหรือมีความแตกต่างที่สำคัญระหว่างรหัสแฮชและเช็คซัม?


5
จุดคงที่เทียบกับจำนวนจุดลอยตัว
ฉันไม่เข้าใจจุดคงที่และตัวเลขทศนิยมเนื่องจากอ่านคำจำกัดความเกี่ยวกับพวกเขาได้ยากใน Google แต่ไม่มีที่ฉันได้อ่านให้คำอธิบายที่เรียบง่ายเพียงพอว่าแท้จริงแล้วคืออะไร ฉันสามารถหาคำจำกัดความธรรมดาพร้อมตัวอย่างได้หรือไม่?

5
B-Tree เทียบกับตารางแฮช
ใน MySQL, ประเภทดัชนีเป็น B ต้นไม้และการเข้าถึงองค์ประกอบใน B O(log(n))ต้นไม้อยู่ในเวลาตัดจำหน่ายลอการิทึม O(1)ในทางตรงกันข้ามการเข้าถึงองค์ประกอบในตารางแฮชที่อยู่ใน เหตุใดจึงไม่ใช้ตารางแฮชแทน b-tree เพื่อเข้าถึงข้อมูลภายในฐานข้อมูล

3
เราหมายถึงอะไร Byte array? [ปิด]
มันยากที่จะบอกว่ากำลังถามอะไรที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือมีวาทศิลป์และไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน9 ปีที่ผ่านมา ใครช่วยอธิบายหน่อยได้ไหมว่าฉันไม่เข้าใจแนวคิด Byte Array คืออะไร? เราใช้มันในแอพพลิเคชั่น / โปรแกรมที่ไหนและเมื่อไหร่? ข้อดีและข้อเสียของการใช้ไบต์อาร์เรย์คืออะไร?

5
เมื่อใดควรใช้กลยุทธ์ Preorder, Postorder และ Inorder Binary Search Tree Traversal
เมื่อเร็ว ๆ นี้ฉันตระหนักว่าในขณะที่ใช้ BST มากมายในชีวิตฉันไม่เคยคิดแม้แต่จะใช้อะไรเลยนอกจาก Inorder traversal (ในขณะที่ฉันตระหนักและรู้ว่าการปรับโปรแกรมให้ใช้การส่งผ่านคำสั่งก่อน / หลังการสั่งซื้อนั้นง่ายเพียงใด) เมื่อตระหนักถึงสิ่งนี้ฉันจึงดึงตำราโครงสร้างข้อมูลเก่าของฉันออกมาและมองหาเหตุผลที่อยู่เบื้องหลังประโยชน์ของการสั่งซื้อล่วงหน้าและการสั่งซื้อภายหลังการสั่งซื้อ - พวกเขาไม่ได้พูดอะไรมากนัก มีตัวอย่างอะไรบ้างในการใช้ preorder / postorder ในทางปฏิบัติ? เมื่อใดที่เหมาะสมกว่าตามลำดับ

30
ฉันควรรู้แนวคิดวิทยาศาสตร์คอมพิวเตอร์อะไรบ้าง [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา คุณคิดว่าแนวคิดใดในวิทยาการคอมพิวเตอร์ทำให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้น ปริญญาของฉันอยู่ในสาขาวิศวกรรมเครื่องกลดังนั้นเมื่อจบการเป็นโปรแกรมเมอร์แล้วฉันก็ขาดพื้นฐานเล็กน้อย มีแนวคิด CS มาตรฐานบางส่วนที่ฉันได้เรียนรู้เมื่อเร็ว ๆ นี้ซึ่งทำให้ฉันมีความเข้าใจลึกซึ้งยิ่งขึ้นเกี่ยวกับสิ่งที่ฉันกำลังทำโดยเฉพาะ: คุณสมบัติภาษา ตัวชี้และการเรียกซ้ำ (ขอบคุณ Joel!) โครงสร้างข้อมูล รายการที่เชื่อมโยง Hashtables อัลกอริทึม ประเภทฟอง เห็นได้ชัดว่ารายการสั้นไปหน่อยในขณะนี้ดังนั้นฉันจึงหวังว่าจะได้รับคำแนะนำเกี่ยวกับ: ฉันควรเข้าใจแนวคิดอะไร แหล่งข้อมูลที่ดีสำหรับการทำความเข้าใจอย่างถูกต้อง (เนื่องจาก Wikipedia อาจมีความหนาแน่นและเป็นวิชาการในบางครั้ง)

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