Maqsadlar
Saralash va qidirish algoritmlarni, vaqt va xotira foydalanish samaradorligini toifalarga, bog'liq ro'yxati va daraxt ma'lumotlar tuzilmalari, hash jadvallar, g'aram va quyruq: qoplangan mavzular butun dunyo bo'ylab informatika bo'limlarida kirish algoritmlarni va ma'lumotlar tuzilmalari kurslarida topilgan o'xshash bo'ladi. Maqsadlari albatta oxirigacha bu barcha narsa bilish kerak, deb hisoblanadi. Shuningdek, ular haqida bilish kabi, siz yanada ulardan biron olish va ulardan foydalanish kerak tushunchalar bilan etarli tanish bo'lishi kerak, agar shunday qilish mumkin bo'ladi. Men har bir algoritm va ma'lumotlar strukturasining har bir jihatini batafsil yoritishning entsiklopedik yondashuvini qabul qilmayman.
Bu avvalo Java dasturlash bo'yicha kurs bo'lmasa-da, Java buning uchun ishlatiladigan til bo'ladi va Java ning bu kursda birinchi bo'lib uchraydigan jihatlari bo'lishi muqarrar. Informatika ta'lim jahon hali Java tilini ishlab chiqarilgan ob'ekt yo'naltirilgan inqilob bilan hukmboshqaruv bormoqda, va bu Java ob'ekt yo'naltirilgan tabiat bir yordam yoki algoritmlarni va ma'lumotlar tuzilmalarini o'rgatish bir to'siq yoki yo'qligini ustidan qarama-qarshi da'volar bilan aks ettirilgan. Men bir evolyutsion o'rniga inqilobiy tarzda bo'lsa-da, "an'anaviy" yondashuv ba'zi yangilash o'z ichiga oladi ob'ektiv yo'naltirilgan uslubda, ma'lumotlar tuzilmalari yaqinlashib qilinadi. Bu Java bir kurs emas, chunki, men uning to'plamlari doirasida Java kutubxona qismi sifatida taqdim ma'lumotlar tuzilmalari keng majmuini o'z ichiga olgan bo'lmaydi, buning o'rniga, biz massivida va o'z sinflar qurilish bloklari yordamida bunday ma'lumotlar tuzilmalarni dastur ko'rib chiqamiz.
Kurs Java standart kutubxonasining bir qismi sifatida taqdim etilgan har qanday maxsus ishlab chiqish muhiti yoki har qanday kirish/chiqish kodi mavjudligini taxmin qilmaydi. Ushbu "tekis" yondashuvni ushbu kurs bilan birga olib boradigan ob'ektga yo'naltirilgan dasturlash kursida BlueJ Java interaktiv rivojlanish muhitidan foydalangan holda qiziqarli va foydali kontrastni topishingiz mumkin.
Ushbu kursni qanday o'tish mumkin
Men Qirolicha Maryamga kirish dasturlash kursini o'rgatganimda "kursni qanday o'tish" haqida ba'zi eslatmalar berdim va keyin yozganlarim asosan ushbu kursga ham tegishli.
Eng muhimi, ta'lim, ayniqsa, universitet ta'limida va ayniqsa, kompyuter fanlari kabi mavzuda passiv narsa emas, balki faol narsa ekanligini bilishdir. Sizning munosabat siz don & # 8217; t juda ko'p o'zingiz qilish kerak, deb bo'lsa, va ilmiy xodimlar ish bilim bilan "sizni to'ldirish" uchun u, & # 8217; t uzoq olish qo'lga kiritdi. Ilmiy xodimlar sizga to'g'ri yo'nalishda ishora qilishi mumkin, sizga o'qish uchun eng foydali bo'lgan narsalarni ko'rsatib berishi mumkin, sizga mashqlar o'rnatish va ularda sizni baholash,lekin u haqiqiy o'rganish qilish sizga. Hotirjamlik bilan o'rganishni aralashtirmaslik kerak. Bu albatta har qanday nuqtada siz o'zingizni narsalarni yod harakat topish bo'lsa, agar butunlay noto'g'ri yondashuv bor. Agar" oxirgi daqiqani qayta ko'rib chiqish " imtihon topshirish strategiyasining asosiy qismini tashkil etsa, unda siz ushbu strategiyani qayta ko'rib chiqishingiz kerak. Aslida, & # 8217; t jihatidan fikr bo'lishi kerak "imtihon-o'tib stratgey" barcha - tushunish jihatidan fikr va siz uni zavq, chunki qilyapsan bir mavzu muhim jihati qadrlamaydigan bo'lishi kerak. Keyin sinovdan o'tish tabiiy ravishda mahsulot sifatida keladi.
O'rganish uchun eng yaxshi yo'l qilib hisoblanadi. Algoritmlar va ma'lumotlar tuzilmalarini tushunishga harakat qiling, so'ngra ularni o'zingiz o'z uslubingizda dasturlang. Universitet talabasi bo'lish to'la vaqtli ish bo'lishi uchun mo'ljallangan, deb eslayman, iltimos,, rejalashtirilgan ma'ruza va laboratoriya sizning soat to'liq ish hafta bo'yanish emas, aslida to'liq tashkil qilish uchun qo'shimcha ish o'z jadvalini devising bo'lishi kerak, degan ma'noni anglatadi 35-40 soat, bir hafta pullik xodim norma bo'lishi uchun o'ylab edi.
Men ushbu kurs mavzulariga o'z nuqtai nazarimni tushuntiradigan va ularni namoyish etadigan dasturlarni yozishga o'z urinishlarimni o'zimcha eslatmalar chiqardim. Lekin siz ham foydali boshqalar shu mavzularni bayon qanday ko'rish uchun topasiz, va ularni dasturlashingiz. Bu sizga dasturning aniq shakli emas, balki muhim bo'lgan printsiplar ekanligini tushunishga yordam beradi. Tavsiya etilgan darsliklardan kamida bittasi orqali egalik qilish va ishlash siz uchun foydali bo'ladi. Men ham butun dunyo bo'ylab universitetlarida shunga o'xshash akademik kurslar uchun davlat veb-kosmosda taqdim kurs yozuvlari xususan ixtisoslashgan algoritmlarni va ma'lumotlar tuzilmalari ishoratlar keng qamrovli sayt qildik. Bu barcha resurslardan foydalanish iltimos.
Ma'ruzalar albatta "yurak stimulyatori" sifatida qaralishi lozim. Ular sizga kursdagi mavzular yoritilishi lozim bo'lgan tezlik va turli mavzularning nisbiy ahamiyati haqida tasavvur beradi. Tuzilmalar algoritm sifatida qanday o'zgarishini ko'rsatadigan" bo'r va munozarasi " mashg'ulotlari kursning muhim qismidir. Bas, siz ma'ruzalar ishtirok etish uchun kerak emas his ham xato qilmang iltimos (men oldindan mavjud yozuvlari to'liq majmuini qildik, chunki) yoki barcha qilish kerak ma'ruzalar ishtirok deb.
Lab mashqlar kashf va sinfda qoplangan materiallar ba'zi sinov haftalik o'rnatiladi. Ushbu materialni o'rganishning eng yaxshi usuli bu bilan amaliy tajribaga ega bo'lishdir. Laboratoriya mashqlari kurs uchun sinov va imtihonlarda duch keladigan muammolarga o'xshash muammolar aralashmasi va dastur va dastur orqali o'ylash uchun bir oz vaqt talab qiladigan qiyin misollar bo'ladi. Agar bir soat ajratilgan bo'lsa-da uyasi bir hafta, bu siz laboratoriya mashqlar nafaqa faqat vaqt bo'lishi uchun mo'ljallangan emas, agar mo'ljallangan tarzda bu kursni hal qilish uchun bo'lsa, siz ularga belgilangan lab soat tashqarida bir hafta yana bir necha soat sarf bo'lishi kutish kerak.
Kitob
Bu kurs uchun tavsiya etilgan kitob bor, Maykl Main tomonidan Java yordamida ma'lumotlar tuzilmalari va boshqa ob'ektlar. Misollar dasturi Java yordamida algoritmlarni va ma'lumotlar tuzilmalari haqida ko'p kitoblar aslida bor. Bu bir o'ng darajada haqida materiallar o'ng aralashmasi o'z ichiga oladi. Shunday qilib, bu kurs uchun yaxshi qo'shimcha o'qish qiladi. Biroq, men yaqindan kitob amal qilmoqchi emasman, yoki ko'p barcha. Agar mening uchun muqobil yondashuv bo'lsangiz o'qish uchun bor, va har doim turli odamlar uni tasvirlab hal qanday qarash uchun, ba'zi mavzu o'rganish qachon yaxshi bo'ladi.
Maykl asosiy kitob muammolaridan biri, hozirga qadar siz xavotirda sifatida, u siz kirish dasturlash uchun "objects birinchi" yondashuv o'rgatgan qilingan ta'kidlaydi, deb - ob'ektlar va sinflar g'oyasi kirish dasturlash kursida qoplangan birinchi narsa biridir qaerda, deb. Biroq, sizning kirish dasturlash kursingiz bu yondashuvni qabul qilmadi, aksincha, dasturlashning ushbu jihatlarini ikkinchi dasturlash kursingizga qoldirishga qaror qilindi. Shuning uchun, eng yaqindan men mavzularni hal qiladi maqsadida bilan mos keladi kitob orqali yo'l asosiy "erta özyineleme / erta saralash" marshrutni chaqiradi nima. Bu bob bilan boshlangan anglatadi 1, lekin keyin bob uchun harakat 8 özyineleme haqida, bob tomonidan ta'qib 12 saralash haqida. Agar ikkinchi dasturlash kurs ob'ektlar va sinflar haqida ko'proq qamrab sifatida, men ularga tayanib o'sha ma'lumotlar tuzilmalari mavzular ustiga harakat qiladi. Bob 2 sinflar asosiy g'oyasini o'z ichiga oladi, va u siz dasturlash albatta nima zaxira uchun bu o'qish uchun foydali bo'lishi mumkin. 3-bobda abstrakt ma'lumotlar turi sifatida amalga oshirilgan to'plam sinfining g'oyasi yoritilgan bo'lib, biz kursimizda batafsil yoritamiz. Biz keyin kitob kabi taxminan bir xil tartibda mavzularni qamrab oladi.
Ma'lumotlar yig'ish yaxlitligi, ishonchliligi bilan amalga oshiriladi. Ma'lumotlarni qayta ishlash quyidagi standart operatsiyalardan foydalanadi:
* tasniflash yoki guruhlash. Asosiy ma'lumotlar odatda bir yoki bir nechta belgidan iborat kodlarning turiga ega. Ob'ektlarning muayyan belgilarini ifodalovchi ushbu kodlar yozuvlarni aniqlash va guruhlash uchun ishlatiladi (ish haqini hisoblashda har bir yozuv ishchi kodini, u ishlayotgan bo'linma kodini va boshqalarni o'z ichiga oladi).);
* saralash. Bu foydalanuvchi tomonidan belgilangan algoritmga muvofiq dastlabki ma'lumotlar namunalarini qayd qilish tartibini o'zgartirishga imkon beradi.
Hisob-kitoblar tadqiqotchining maxsus dasturiy ta'minot mahsulotlari vositasi bo'lgan standart funktsiyalar yordamida amalga oshiriladi.
Birlashtirish yoki yig'ish ma'lumotlar sonini kamaytirishga xizmat qiladi va hisob-kitoblar shaklida yakuniy yoki o'rtacha qiymatlarda amalga oshiriladi.
Ma'lumotlarni saqlash turli xil axborot tanklarida — ma'lumotlar bazalari, ma'lumotlar omborlari, bulutda amalga oshiriladi.
Ma'lumotlarni o'zgartirish-tahlil maqsadlari va maqsadlari nuqtai nazaridan ma'lumotlarni taqdim etish va formatlarini optimallashtirishga qaratilgan usullar va algoritmlar majmui. Ma'lumotlarni o'zgartirish ma'lumotlarning axborot mazmunini o'zgartirishga qaratilgan emas. Uning vazifasi bu ma'lumotni eng samarali tarzda ishlatilishi uchun taqdim etishdir. Odatda konvertatsiya qilish vositalari:
Ma'lumotlar yig'ish yaxlitligi, ishonchliligi bilan amalga oshiriladi. Ma'lumotlarni qayta ishlash quyidagi standart operatsiyalardan foydalanadi:
* tasniflash yoki guruhlash. Asosiy ma'lumotlar odatda bir yoki bir nechta belgidan iborat kodlarning turiga ega. Ob'ektlarning muayyan belgilarini ifodalovchi ushbu kodlar yozuvlarni aniqlash va guruhlash uchun ishlatiladi (ish haqini hisoblashda har bir yozuv ishchi kodini, u ishlayotgan bo'linma kodini va boshqalarni o'z ichiga oladi).);
* saralash. Bu foydalanuvchi tomonidan belgilangan algoritmga muvofiq dastlabki ma'lumotlar namunalarini qayd qilish tartibini o'zgartirishga imkon beradi.
Hisob-kitoblar tadqiqotchining maxsus dasturiy ta'minot mahsulotlari vositasi bo'lgan standart funktsiyalar yordamida amalga oshiriladi.
Birlashtirish yoki yig'ish ma'lumotlar sonini kamaytirishga xizmat qiladi va hisob-kitoblar shaklida yakuniy yoki o'rtacha qiymatlarda amalga oshiriladi.
Ma'lumotlarni saqlash turli xil axborot tanklarida — ma'lumotlar bazalari, ma'lumotlar omborlari, bulutda amalga oshiriladi.
Ma'lumotlarni o'zgartirish-tahlil maqsadlari va maqsadlari nuqtai nazaridan ma'lumotlarni taqdim etish va formatlarini optimallashtirishga qaratilgan usullar va algoritmlar majmui. Ma'lumotlarni o'zgartirish ma'lumotlarning axborot mazmunini o'zgartirishga qaratilgan emas. Uning vazifasi bu ma'lumotni eng samarali tarzda ishlatilishi uchun taqdim etishdir. Odatda konvertatsiya qilish vositalari:
Ma'lumotlarni qayta ishlash maqsadlari quyidagilardan iborat:
• turli tabiatdagi ma'lumotlarda taqdim etilgan barcha mavjud ma'lumotlarni to'plash;
• ma'lumotlar bilan taqdim etilgan muhim ma'lumotlarni hozirgi vaqtda ko'rib chiqish uchun ahamiyatsiz bo'lganlardan ajratish;
* muhim ma'lumotni idrok qilish uchun eng qulay shaklda taqdim etish.
Ushbu maqsadlar, o'z navbatida, ma'lumotlarni qayta ishlash vazifalarini belgilashga olib keladi. Umumiy ma'lumotlarni qayta ishlash vazifalari quyidagilardir:
* ma'lumotlarni yig'ish;
* ma'lumotlar sifatini baholash;
• turli axborot tizimlariga ma'lumotlarni kiritish;
• avtomatik ma'lumotlarni kiritish;
* qo'lda ma'lumotlarni kiritish;
* qo'lda kiritish xatolarini nazorat qilish va tuzatish;
* ma'lumotlarni to'plash;
* to'plangan ma'lumotlarni saqlash, shu jumladan-uzoq; bunday saqlashning ishonchliligi; ma'lumotlarni hisobga olish va inventarizatsiya qilish; ularni tartiblash va tasniflash; ma'lumotlarga kirish; to'plangan massivlarda kerakli ma'lumotlarni qidirish; kirishni nazorat qilish va ma'lumotlarni himoya qilish; ularni uzatish va almashish; ma'lumotlarni qadoqlash va etiketlash; ularni uzatishning ishonchliligi;
* ma'lumotlarni taqdim etish: matn, jadval, grafik va ingl.;
• turli axborot tizimlarida ma'lumotlarni taqdim etish formatlari.
Ishlash algoritmi. Bu shunday ko'rinadi: original ma'lumot-ishlov berish ijrochisi-yakuniy ma'lumot. Dastlabki ma'lumotlardan natijaga o'tish jarayoni qayta ishlash jarayoni bilan ifodalanadi. Axborotni qayta ishlashning ikki turi mavjud:
* birinchi ishlov berish turi: ma'lumotni muammoni hal qilish uchun qulay bo'lgan shaklga aylantirish (raqamli, ramziy ma'lumotlarni qayta ishlash, o'rganilayotgan ob'ektni modellashtirish, analitik vazifalar);
* ikkinchi ishlov berish turi: taqdimot shakllarini o'zgartirish bilan bog'liq ma'lumotlarni o'zgartirish, lekin tarkibni o'zgartirmasdan (masalan, matnni bir tildan ikkinchisiga tarjima qilish). Kodlash-ma'lumotni ramziy shaklga aylantirish,
axborotni saqlash, uzatish, qayta ishlash uchun qulay, axborotni saqlash, qayta ishlash va uzatish texnik vositalarida qo'llaniladi.
Ma'lumotlarni tuzish-turli xil axborot konteynerlarida ma'lumotlarni tartibga solish, ma'lumotlarni tasniflash, kataloglashtirish.
Qidiruv (so'rov) shartlarini qondiradigan ma'lumotlarning ma'lum bir axborot hajmida axborot izlash. Qidiruv algoritmi axborot hajmida axborotni tashkil etish usuliga bog'liq.
Texnologik (apparat, dasturiy ta'minot) nuqtai nazaridan ma'lumotlarni qayta ishlash tamoyillari muhim ahamiyatga ega.
Foydalanilgan adabiyotlar:
https://studref.com/636034/ekonomika/osnovnye_komponenty_algoritmizatsii_posledovatelnost_resheniya_zadachi_obrabotki_dannyh
https://en.wikipedia.org/wiki/Algorithm
https://www.khanacademy.org/computing/computer-science/algorithms
https://www.classcentral.com/course/algs4partI-339
http://atr.samdu.uz/mexmat/books/III%20blok%20fanlari/Algoritmlar_nazariyasi.pdf
https://uz.wikipedia.org/wiki/Turkum:Algoritmlar
Do'stlaringiz bilan baham: |