โลโก้
ยูเนี่ยนพีเดีย
การสื่อสาร
ดาวน์โหลดได้จาก Google Play
ใหม่! ดาวน์โหลด ยูเนี่ยนพีเดีย บน Android ™ของคุณ!
ดาวน์โหลด
เร็วกว่าเบราว์เซอร์!
 

การเข้าถึงโดยสุ่ม

ดัชนี การเข้าถึงโดยสุ่ม

การเข้าถึงโดยสุ่ม เปรียบเทียบกับการเข้าถึงเชิงเส้น ในวิทยาการคอมพิวเตอร์ การเข้าถึงโดยสุ่ม (random access) หรือ การเข้าถึงโดยตรง (direct access) คือความสามารถในการเข้าถึงข้อมูลในลำดับภายในเวลาที่เท่าๆกันสำหรับข้อมูลตัวใด ๆ ก็ตาม เวลาในการเข้าถึงข้อมูลนี้ไม่ขึ้นกับกับขนาดของลำดับด้วย ตัวอย่างของการเข้าถึงโดยสุ่มคือการอ่านข้อมูลจากแผ่นซีดี ซึ่งสามารถอ่านข้อมูลตำแหน่งใดๆได้ทันที การเข้าถึงข้อมูลที่ตรงกันข้ามกับการเข้าถึงโดยสุ่มคือการเข้าถึงเชิงเส้น ซึ่งข้อมูลที่อยู่ไกลกว่าจะเสียเวลาในการเข้าถึงข้อมูลมากกว่า ตัวอย่างเช่นการอ่านข้อมูลจากตลับเทป ซึ่งต้องมีกรอเทปไปยังตำแหน่งที่ต้องการอ่านข้อมูล สำหรับโครงสร้างข้อมูล ความสามารถในการเข้าถึงโดยสุ่มคือความสามารถในการเข้าถึงรายการได้ภายในเวลาคงที่ หรือ O(1) ซึ่งโครงสร้างข้อมูลที่เรียบง่ายที่สุดที่มีความสามารถนี้ก็คือแถวลำดับ โครงสร้างข้อมูลที่เหลือที่มีความสามารถนี้ โดยมากแล้วก็จะมาจากการดัดแปลงแถวลำดับ เช่น แถวลำดับพลวัต อย่างไรก็ตาม การมีความสามารถในการเข้าถึงโดยสุ่มก็ความหมายอีกนัยหนึ่งว่าที่อยู่ของหน่วยความจำต้องเรียงกันแบบมีแบบแผน ดังนั้นจึงทำให้โครงสร้างข้อมูลทั้งหลายที่มีความสามารถนี้ไม่สามารถเพิ่มข้อมูลกลางรายการได้อย่างมีประสิทธิภาพ บางโครงสร้างข้อมูลเช่นรายการโยงแลกความสามารถในการเข้าถึงแบบสุ่มด้วยความสามารถในการเพิ่มและลบข้อมูลกลางรายการแทน ความสามารถในการเข้าถึงโดยสุ่มมีความสำคัญมาก มีขั้นตอนวิธีมากมายที่ใช้ประโยชน์จากโครงสร้างข้อมูลที่มีการเข้าถึงข้อมูลโดยสุ่ม เช่น การค้นหาแบบทวิภาค ขั้นตอนวิธีการเรียงลำดับ ตะแกรงเอราทอสเทนีส เป็นต้น.

13 ความสัมพันธ์: การค้นหาแบบทวิภาครายการ (โครงสร้างข้อมูล)รายการโยงลำดับวิทยาการคอมพิวเตอร์สัญกรณ์โอใหญ่ขั้นตอนวิธีขั้นตอนวิธีการเรียงลำดับตลับเทปแผ่นซีดีแถวลำดับแถวลำดับพลวัตโครงสร้างข้อมูล

การค้นหาแบบทวิภาค

ในสาขาวิทยาการคอมพิวเตอร์ การค้นหาแบบทวิภาค (binary search, half-interval search หรือ bisection search) เป็นขั้นตอนวิธีเพื่อหาตำแหน่งของค่าที่ต้องการ (ข้อมูลนำเข้า หรือ "key") ที่ใช้ในแถวลำดับที่ได้มีการเรียงลำดับข้อมูลแล้ว ขั้นตอนวิธีจะเริ่มจากเปรียบเทียบข้อมูลที่นำเข้ากับข้อมูลที่อยู่ตรงกลางของแถวลำดับ ถ้าข้อมูลมีค่าเท่ากันแสดงว่าพบ "คีย์" ที่ต้องการ อาจจะทำการคืนค่าตำแหน่งหรือในที่นี้คือ ดัชนี (index) กลับไป มิฉะนั้นถ้าค่าของข้อมูลนำเข้าที่ต้องการค้นหามีการน้อยกว่าค่าตรงกลางของแถวลำดับ ก็จะทำขั้นตอนวิธีนี้อีกครั้งแต่เปลี่ยนมาค้นหาในแถวลำดับย่อยของแถวลำดับที่ต้องการค้นหาโดยแถวลำดับย่อยจะมีจุดสิ้นสุดที่ตรงกลางของแถวลำดับหลัก หรือถ้าข้อมูลที่ต้องการค้นหามีค่ามากกว่าแล้วจะค้นหาในแถวลำดับย่อยเช่นกันแต่ย้ายจุดเริ่มต้นมาที่ตรงกลางของแถวลำดับหลัก เมื่อทำไปจนแถวลำดับไม่มีสมาชิกอยู่หรือจุดเริ่มต้นมากกว่าจุดสิ้นสุด แสดงว่าไม่มีสมาชิกในแถวลำดับตัวใดที่มีค่าเท่ากับข้อมูลนำเข้าที่ต้องการค้นหา อาจจะคืนค่าว่า "ไม่พบ" การค้นหาแบบทวิภาคจะแบ่งครึ่งชุดข้อมูลที่ต้องการค้นหา ดังนั้นจึงจัดให้การค้นหาแบบทวิภาคเป็นขั้นตอนวิธีแบ่งแยกและเอาชนะ และขั้นตอนวิธีการค้นห.

ใหม่!!: การเข้าถึงโดยสุ่มและการค้นหาแบบทวิภาค · ดูเพิ่มเติม »

รายการ (โครงสร้างข้อมูล)

รายการ เป็นแบบชนิดข้อมูลนามธรรมประเภทหนึ่ง ซึ่งมีลักษณะการเรียงแบบต่อเนื่องไปเป็นลำดับ ข้อมูลจะมีลำดับก่อนหลังกันคล้ายเวกเตอร์ ตัวอย่างของรายการเช่น การเรียงลำดับตัวอักษร A,B,C,...

ใหม่!!: การเข้าถึงโดยสุ่มและรายการ (โครงสร้างข้อมูล) · ดูเพิ่มเติม »

รายการโยง

รายการโยง เป็นรายการประเภทหนึ่ง ซึ่งจะใช้ประเภทข้อมูลประเภทโครงสร้าง วัตถุ หรือตัวชี้ (Pointer) เพื่อชี้สมาชิกตัวถัดไปที่เก็บไปเรื่อยๆ รายการโยงมีจุดเด่นทางด้านการเพิ่มหรือลดข้อมูลหรือชุดข้อมูลได้ง่าย จึงนำมาดัดแปลงในการสร้างโครงสร้างข้อมูลประเภทอื่นๆ เช่น กองซ้อน คิว ฯลฯ จึงนับว่าเป็นโครงสร้างข้อมูลที่ใช้บ่อยมากประเภทหนึ่ง.

ใหม่!!: การเข้าถึงโดยสุ่มและรายการโยง · ดูเพิ่มเติม »

ลำดับ

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

ใหม่!!: การเข้าถึงโดยสุ่มและลำดับ · ดูเพิ่มเติม »

วิทยาการคอมพิวเตอร์

วิทยาการคอมพิวเตอร์ หรือ วิทยาศาสตร์คอมพิวเตอร์ (Computer science) เป็นศาสตร์เกี่ยวกับการศึกษาค้นคว้าทฤษฎีการคำนวณสำหรับคอมพิวเตอร์ และทฤษฎีการประมวลผลสารสนเทศ ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย ซึ่งวิทยาการคอมพิวเตอร์นั้นประกอบด้วยหลายหัวข้อที่เกี่ยวข้องกับคอมพิวเตอร์ ตั้งแต่ระดับนามธรรม หรือความคิดเชิงทฤษฎี เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ไปจนถึงระดับรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฎีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ และ ทฤษฎีเครือข่าย ในแง่ของศาสตร์เกี่ยวกับคอมพิวเตอร์นั้น วิทยาการคอมพิวเตอร์เป็นหนึ่งในห้าสาขาวิชาคอมพิวเตอร์ ซึ่งประกอบด้วย สาขาวิทยาการคอมพิวเตอร์ หรือวิทยาศาสตรคอมพิวเตอร์ สาขาวิศวกรรมคอมพิวเตอร์ สาขาวิศวกรรมซอฟต์แวร์ สาขาเทคโนโลยีสารสนเทศ หรือเทคโนโลยีสารสนเทศและการสือสาร และ สาขาคอมพิวเตอร์ธุรกิจ หรือ ระบบสารสนเทศทางธุรก.

ใหม่!!: การเข้าถึงโดยสุ่มและวิทยาการคอมพิวเตอร์ · ดูเพิ่มเติม »

สัญกรณ์โอใหญ่

ตัวอย่างของสัญกรณ์โอใหญ่ โดย ''f''(''x'') ∈ O(''g''(''x'')) ซึ่งหมายความว่ามี ''c'' > 0 (เช่น ''c''.

ใหม่!!: การเข้าถึงโดยสุ่มและสัญกรณ์โอใหญ่ · ดูเพิ่มเติม »

ขั้นตอนวิธี

ั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic) โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time), และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข หรือวิธีการขนอาหารของแมลง หนึ่งในขั้นตอนวิธีอย่างง่าย คือ ขั้นตอนวิธีที่ใช้หาจำนวนที่มีค่ามากที่สุดในรายการ (ซึ่งไม่ได้เรียงลำดับไว้) ในการแก้ปัญหานี้ เราจะต้องดูจำนวนทุกจำนวนในรายการ ซึ่งมีขั้นตอนวิธีดังนี้.

ใหม่!!: การเข้าถึงโดยสุ่มและขั้นตอนวิธี · ดูเพิ่มเติม »

ขั้นตอนวิธีการเรียงลำดับ

ในวิทยาการคอมพิวเตอร์ ขั้นตอนวิธีการเรียงลำดับ (sorting algorithm) คือ ขั้นตอนวิธีที่จัดเรียงสมาชิกของรายการ (list) ให้เป็นไปตามรูปแบบของอันดับที่กำหนด ส่วนใหญ่อันดับที่ใช้กันคือ อันดับตัวเลข และอันดับตัวอักษร การเรียงลำดับที่มีประสิทธิภาพมีความสำคัญต่อขั้นตอนวิธีอื่นๆ (เช่น ขั้นตอนวิธีการค้นหา และ การผสาน) ซึ่งขั้นตอนวิธีเหล่านี้ต้องใช้รายการที่เรียงอย่างถูกต้อง.

ใหม่!!: การเข้าถึงโดยสุ่มและขั้นตอนวิธีการเรียงลำดับ · ดูเพิ่มเติม »

ตลับเทป

ตลับเทป หรือมักเรียกโดยย่อว่า เทป มักหมายถึงเทปเสียงหรือเทปเพลง คือรูปแบบการบันทึกเสียงลงสื่อรูปแบบหนึ่งโดยใช้แถบแม่เหล็ก เทปมีขนาดเล็กสามารถพกพาได้อย่างสะดวก ใช้งานตั้งแต่บันทึกเสียงในบ้านจนถึงเก็บข้อมูลต่าง ๆ ในไมโครคอมพิวเตอร์ ในช่วงแรกระหว่างต้นทศวรรษ 1970 และปลายทศวรรษ 1990 ตลับเทปเป็นหนึ่งในสองอย่างที่มักใช้ในการบันทึกเสียงเพลง ควบคู่ไปกับแผ่นเสียง ซึ่งต่อมามักใช้เป็นซีดีแทน คำว่า แคสเซต หรือ คาสเซต (cassette) มีความหมายว่า ตลับหรือกล่องเล็ก.

ใหม่!!: การเข้าถึงโดยสุ่มและตลับเทป · ดูเพิ่มเติม »

แผ่นซีดี

แผ่นซีดี แผ่นซีดี ย่อมาจาก คอมแพ็กดิสก์ (compact disc) คือแผ่นจานแสง หรือดิสก์แสงเก็บข้อมูลดิจิทัลต่าง ๆ ซึ่งเดิมพัฒนาสำหรับเก็บเสียงดิจิทัล ซีดีคือมาตราฐานรูปแบบการบันทึกเสียงทางการค้าในปัจจุบัน.

ใหม่!!: การเข้าถึงโดยสุ่มและแผ่นซีดี · ดูเพิ่มเติม »

แถวลำดับ

ในวิทยาการคอมพิวเตอร์ แถวลำดับ (array) คือโครงสร้างข้อมูลที่เป็นรายการอย่างหนึ่ง ข้อมูล (value) จะถูกเก็บบนหน่วยความจำคอมพิวเตอร์ แบบอยู่ติดกันไปเรื่อย ๆ การเข้าถึงข้อมูลสามารถกระทำได้ผ่านดัชนี (index) หรืออาจเรียกว่า คีย์ โดยดัชนีจะเป็นจำนวนเต็มซึ่งบอกถึงลำดับที่ของข้อมูลในแถวลำดับ นอกจากนี้ ค่าของดัชนียังไปจับคู่กับที่อยู่หน่วยความจำ ผ่านสูตรคณิตศาสตร์ ทำให้สามารถเข้าถึงข้อมูลได้ ตัวอย่างเช่นแถวลำดับที่มีข้อมูล 10 ตัว โดยมีดัชนีตั้งแต่ 0 ถึง 9 สมมุติให้ข้อมูลแต่ละตัวใช้หน่วยความจำ 4 ไบต์ และแถวลำดับนี้มีที่อยู่ในหน่วยความจำคือ 2000 จะได้ว่าที่อยู่หน่วยความจำของข้อมูลตัวที่ i คือ 2000 + 4i แถวลำดับยังสามารถขยายมิติไปเป็นสองมิติหรือมากกว่านั้นได้ เนื่องจากรูปแบบของแถวลำดับสองมิติมีรูปร่างเป็นตาราง คล้ายกับเมตริกซ์ บางทีจึงอาจเรียกแถวลำดับสองมิติว่าเมตริกซ์หรือตาราง (สำหรับตารางโดยส่วนมากแล้วจะหมายความถึงตาราง lookup) เช่นเดียวกับแถวลำดับมิติเดียวที่บางครั้งก็อาจเรียกว่าเวกเตอร์หรือทูเพิล แถวลำดับถือได้ว่าเป็นโครงสร้างข้อมูลที่ถือกำเนิดขึ้นพร้อม ๆ กับการเขียนโปรแกรม และสำคัญมากในการเขียนโปรแกรมเช่นเดียวกัน และแทบจะไม่มีโปรแกรมใดเลยที่ไม่ใช้แถวลำดับ โดยแถวลำดับนี้ยังนำไปอิมพลีเมนต์โครงสร้างข้อมูลอื่นอีกมากมายเช่นรายการหรือสายอักขระ แม้แต่หน่วยเก็บข้อมูลที่มีที่อยู่หน่วยความจำก็อาจจะมองหน่วยเก็บข้อมูลเป็นแถวลำดับขนาดยักษ์ก็ได้.

ใหม่!!: การเข้าถึงโดยสุ่มและแถวลำดับ · ดูเพิ่มเติม »

แถวลำดับพลวัต

แถวลำดับพลวัต (dynamic array) หรืออาจเรียกว่า แถวลำดับที่ขยายได้ (growable array), แถวลำดับที่เปลี่ยนขนาดได้ (resizable array), ตารางพลวัต (dynamic table), รายการแถวลำดับ (array list) หรือ เวกเตอร์ (vector) เป็นรายการประเภทหนึ่ง มีคุณสมบัติการเข้าถึงโดยสุ่มเหมือนแถวลำดับ แต่ต่างจากแถวลำดับธรรมดาตรงที่สามารถขยายขนาดเองได้เมื่อใส่ข้อมูลเพิ่มเข้าไปสมชาย ประสิทธิ์จูตระกูล, การออกแบบและวิเคราะห์อัลกอริทึม, พิมพ์ครั้งที่ 4 แถวลำดับพลวัตไม่ใช่แถวลำดับจากการจองหน่วยความจำพลวัต เนื่องจากแถวลำดับจากการจองหน่วยความจำพลวัตมีขนาดคงที่ ในขณะที่แถวลำดับพลวัตสามารถขยายขนาดได้ อย่างไรก็ตาม ในการอิมพลีเมนต์แถวลำดับพลวัต ก็อาจใช้แถวลำดับจากการจองหน่วยความจำพลวัตเป็นส่วนประกอบได้การอิมพลีเมนต์แถวลำดับพลวัตในภาษาจาว.

ใหม่!!: การเข้าถึงโดยสุ่มและแถวลำดับพลวัต · ดูเพิ่มเติม »

โครงสร้างข้อมูล

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

ใหม่!!: การเข้าถึงโดยสุ่มและโครงสร้างข้อมูล · ดูเพิ่มเติม »

เปลี่ยนเส้นทางที่นี่:

การเข้าถึงข้อมูลแบบสุ่มการเข้าถึงข้อมูลโดยสุ่ม

ขาออกขาเข้า
Hey! เราอยู่ใน Facebook ตอนนี้! »