Дараалал: Засвар хоорондын ялгаа
Content deleted Content added
Хуудас үүсгэв: "== '''Дараалал (Өгөгдлийн бүтэц)''' == [Компьютерийн шинжлэх ухаан]]д дараалал гэдэг нь өгөгдөли..." |
|||
Мөр 1:
== '''Дараалал (Өгөгдлийн бүтэц)''' ==
[[Компьютерийн шинжлэх ухаан]]д дараалал гэдэг нь [[өгөгдөлийн хийсвэр төрөл]] болон
Дараалал нь компьтерийн шинжлэх ухаан, мэдээлэлийн хэрэгсэл, мөн судалгааны ажил зэрэгт ашиглагддаг. Ингэхдээ өгөгдөл, хүн, болон обектүүдыг компьютерт өгөгдлийн нэгж хэлбэрээр хадгалж аван дараа нь шаардлагатай үед дуудаж ажиллуулдаг. Энэ нь ерөнхийдөө буферийн функцтэй төстэй. <br />
Онолын үүднээс авч үзвэл дарааллын нэг гол шинж чанар бол тусгай нөөц зайгүй байх явдал юм. Шинэ элемэнтүүд нь өөрсдөө нэмэгдэж чаддаг учраас хэдэн элемэнт байх нь хамаагүй бөгөөд энэ нь аль хэдийн агуулагдсан байдаг. Энэ нь ерөнхийдөө хоосон байдаг хэдий ч дахин шинэ элемэнт нэмэгдэх хүртэл элемэнтүүдийг устгах нь боломжгүй байдаг. Тогтмол урттай массивууд нь хэмжээгээрээ хязгаарлагддаг бөгөөд хэрвээ хэмжээгээрээ хязгаарлагдаагүй байвал утгуудыг тухайн дарааллын эхэнд хуулж аваачих хэрэгтэй болдог. Хязгаарлагдмал хүрээнд байгаа массивыг өөрчлөх болон эхлэл болон төгсгөлийн хэсэгт чөлөөтэй шилжих энгийн арга бол массивд хадгалагдсан утгуудыг хөдөлгөхгүй байлгах явдал юм. Массивын уртыг n гэвэл тухайн утгуудын хамрах хүрээ нь n-ын орчимд л тооцоологдоно. Энэ нь дарааллыг өндөр түвшний хэлэнд байгуулах нийтэд дэлгэрсэн энгийн ойлголтуудын нэг боловч бага зэрэг удаан байдаг. Яагаад гэвэл массивын индекс нь 0-той болон массивын урттай буюу индексүүдийн утга хил хязгаараас хэтэрсэн эсвэл хугацааны хязгаарлалттай зэргийг харгалзан үзсэний үндсэн дээр харьцуулагддаг. Үүнийг зарим хэлнүүд дэмждэг хэдий ч шуурхай болон зохимжгүй хэрэгжүүлэлттэй үед эсвэл синтаксын заагчгүй өндөр түвшний зарим хэлэнд сонголтын арга болдог. Зарим хэрэгжүүлэлтийн үед халилт тохиолдвол массивын урт нь дахин зарлагдах шаардлагатай ба тухайн хугацаанаас өмнө зарлагдсан байх ёстой.▼
=='''Дарааллын хэрэгжүүлэлт'''==
Онолын үүднээс авч үзвэл дарааллын нэг гол шинж чанар бол тусгай нөөц зайгүй байх явдал юм. Шинэ элемэнтүүд нь өөрсдөө нэмэгдэх чадвартай учраас хэдэн элемэнт байх нь хамаагүй бөгөөд энэ нь аль хэдийн агуулагдсан байдаг. Энэ нь ерөнхийдөө хоосон байдаг хэдий ч дахин шинэ элемэнт нэмэгдэх хүртэл элемэнтүүдийг устгах нь боломжгүй гэсэн үг юм. <br />
▲
Дараалал нь тусдаа өгөгдлийн төрлөөр бичигдсэн байж болно, эсвэл тусдаа өгөгдөөгүй давхар төгсгөлтэй онцгой тохиолдолд авч үзсэн байж болох юм. Жишээ нь: Перл болон бадмаараг нь 2 төгсгөлийн жагсаалаас түлхэх болон цухуйлгаж болдог, тиймээс шууд болон шууд бус дарааллын жагсаалтанд түлхэлт болон шилжилтын функцуудыг хэрэглэж болно. (эсвэл эсрэгээрээ байж болно) Гэсэн хэдий ч зарим тохиолдлуудад эдгээр ажиллагаа нь тийм ч үр дүнтэй биш байдаг. ▼
[[Хязгаарлагсан дараалл]]ын утгуудыг өөрчлөх боломжгүй байдаг.<br />
ЭОЭГ кюүг хэд хэдэн үр дүнтэй хэрэгжүүлэлтүүд байдаг. Үр дүнтэй гэдэг нь үүн дээр үйлдэл—энкюү болон дикюүг— [[О(1)|О(1) хугацаа]]нд хийх боломжтой гэсэн үг.<br />
* [[Холбоост жагсаалт]]
** [[Давхар холбоост жагсаалт]] нь төгсгөлөөсөө О(1) нэмэлт болон хасалт хийж болдог тул кюүг ашиглахад тохиромжтой.
** [[Энгийн холбоост жагсаалт]] нь зөвхөн нэг төгсгөлдөө л нэмэлт болон хасалт хийж болдог. Гэсэн хэдий ч заагчыг төгсгөлийн холбоос эсвэл эхний холбоос руу зааж байхаар өөрчлөлт хийвэл — үр дүнтэйгээр кюүг ашиглах боломжтой болно.
* [[Дэкюү ]] - Давхар-төгсгөлтэй дараалал.<br />
=='''Дарааллууд болон програмчлалын хэлнүүд'''==
▲Дараалал нь
С++ ийн стандартын загварын сан нь J2SE5.0 оос хойших зөвхөн түлхэлт болон шилжилтын ажиллагааны цөөхөн нэр төрлийн ангилал болох "Дараалал"-ын загварыг хангадаг Жава-н сан нь дарааллын ажиллагааг тодотгож өгдөг, холбоостой жагсаалт ба шууд бус жагсаалтын ангилалуудыг агуулдаг дарааллын холбоосуудыг багтаадаг.
|