كلية المجتمع الخرج البرمجة - المستوى الثاني

Slides:



Advertisements
Similar presentations
Chapter 12 Sorting and searching. This chapter discusses n Two fundamental list operations. u Sorting u Searching n Sorted lists. n Selection/bubble sort.
Advertisements

Order of complexity. Consider four algorithms 1.The naïve way of adding the numbers up to n 2.The smart way of adding the numbers up to n 3.A binary search.
1. Find the cost of each of the following using the Nearest Neighbor Algorithm. a)Start at Vertex M.
Complexity Theory  Complexity theory is a problem can be solved? Given: ◦ Limited resources: processor time and memory space.
Lecture # 02 07/02/2013Dr. Muhammad Umair 1. 07/02/2013Dr. Muhammad Umair 2  Numeric  Integer Numbers  0,10,15,4563 etc.  Fractional Number  10.5,
Chapter 11 Sorting and Searching. Topics Searching –Linear –Binary Sorting –Selection Sort –Bubble Sort.
INTRODUCTION TO DATA STRUCTURE. Topics To Be Discussed………………………. Meaning of Data Structure Classification of Data Structure Data Structure Operations.
The Design and Analysis of Algorithms
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the basic concepts and uses of arrays ❏ To be able to define C.
Part 2. Searching Arrays Looking for a specific element in an array E.g., whether a certain score (85) is in a list of scores Linear search Binary search.
Computer Science: A Structured Programming Approach Using C1 8-5 Sorting One of the most common applications in computer science is sorting—the process.
Part 2.  Predefined  User defined  //exclusive to c++  / //c specific.
CS261 – Recitation 5 Fall Outline Assignment 3: Memory and Timing Tests Binary Search Algorithm Binary Search Tree Add/Remove examples 1.
Chapter 9 Abstract Data Types and Algorithms Nell Dale John Lewis.
9-1 Abstract Data Types Abstract data type A data type whose properties (data and operations) are specified independently of any particular implementation.
Summary Algorithms Flow charts Bubble sort Quick sort Binary search Bin Packing.
Introduction to C++ Programming Language Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University,
Elementary Data Organization. Outline  Data, Entity and Information  Primitive data types  Non primitive data Types  Data structure  Definition 
Chapter 5 Algorithms (1) Introduction to CS 1 st Semester, 2012 Sanghyun Park.
Computer Science: A Structured Programming Approach Using C1 8-7 Two-Dimensional Arrays The arrays we have discussed so far are known as one- dimensional.
COP 3530 Spring2012 Data Structures & Algorithms Discussion Session.
بسم الله الرحمن الرحيم شرح جميع طرق الترتيب باللغة العربية
Introduction toData structures and Algorithms
Chapter 9: Sorting and Searching Arrays
Fundamentals of Programming II Overview of Collections
Data Searching and Sorting algorithms
Revision Units Exam date 16th May 2017 Summer 1.
The Design and Analysis of Algorithms
Data Structure Interview Question and Answers
Data Structures Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective.
Datastructure.
Chapter 8 Arrays Objectives
Introduction to Data Structure
Tree data structure.
CS302 Data Structures Fall 2012.
Topics discussed in this section:
Sorting Data are arranged according to their values.
Topics discussed in this section:
Intro to Recursion.
Trees and Binary Trees.
Tree data structure.
در اين درس مباني ساختمان داده ها و الگوريتم ها تدریس میشود.
Chapter 8 Arrays Objectives
searching Concept: Linear search Binary search
Sorting Data are arranged according to their values.
HKOI 2005 Intermediate Training
Sorting.
Binary Search Binary search. Given value and sorted array a[], find index i such that a[i] = value, or report that no such index exists. Invariant.
BTEC COMPUTING – UNIT 1 SECTION B - FLOWCHARTS
Algorithms Key Revision Points.
Algorithmic Complexity
Given value and sorted array, find index.
Introduction to Data Structures
Binary Search Trees Chapter 7 Objectives
Time Complexity Lecture 14 Sec 10.4 Thu, Feb 22, 2007.
Searching and Sorting Arrays
Insertion Sort Demo Sorting problem:
Chapter 8 Arrays Objectives
Time Complexity Lecture 15 Mon, Feb 27, 2006.
Sorting and Divide-and-Conquer
Chapter 4 Review.
Exercise 5 1. We learned bubble sort during class. This problem requires you to modify the code for bubble sorting method to implement the selection sorting.
Sorting: part 1 Barak Obama on sorting, bubble sort, insertion sort,
Binary Search Counting
Important Problem Types and Fundamental Data Structures
Introduction to data structures
CS148 Introduction to Programming II
Introduction to data structures
Applications of Arrays
Presentation transcript:

كلية المجتمع الخرج البرمجة - المستوى الثاني تراكيب البيانات كلية المجتمع الخرج البرمجة - المستوى الثاني إعداد: أ. محمد الفقهــــــــاء

مقدمــــة الفكرة من هذا المقرر هو بيان طرق التعامل مع البيانات و جمعها و طرق الاضافة و التعدبل و الحذف و كيفية الوصول بأفضل الطرق للبيانات. جميع تطبيقات الحاسب تقرأ البينات ثم تجري عليها عملية معالجة ثم في النهاية توجد المخرجات. البيانات قد تكون أحرف, أرقام, كلمات . . . . 21/03/1440 إعداد: أ. محمد الفقهـــــــــاء

أنواع البيانات Data Types البيانات يتم تصنيفها إلى عدة أنواع مثل (عدد صحيح, حرف, رقم عشري, ........). كل نوع يمثل مجال معين للبيانات لا يجوز خلطها مع أنواع أخرى. مثال: متغير من نوع عدد صحيح يجب أن يكون من أرقام فقط و لا يجوز إضافة حروف معه. كل نوع يجرى عليه مجموعة من العمليات الخاص بذلك النوع فلا يجوز إجراء قسمة لمتغيرين حرفيين. 21/03/1440 إعداد: أ. محمد الفقهاء

المجال و العمليات Domain and Operations مثــــــال: النوع المجال العمليات متغير ثنائي Boolean 1,0 And, Or, ….. متغير عدد صحيح Integer -4294967295 الى 4294967295 +, -, *, / 21/03/1440 إعداد: أ. محمد الفقهاء

تراكيب أو هياكل البيانات هي نوع من البيانات يمكن أن: يقسم إلى مجموعة من العناصر. يكون له هيكلية في بناءه تتضمن عناصره. 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات و تراكيب البيانات 1 التجميع أو المجموعة م طرق تراكيب البيانات و يمكن تقسيم مجموعات البيانات إلى قسمين رئسيين: القسم الأول: مجموعات خطية. و هنالك ترتيب معين للبيانات و للترتيب درجات مثل المصفوفات. القسم الثاني: مجموعات غير خطية. ليس هناك ترتيب ولا يوجد درجات أو رتب للبيانات. المجموعات لها خصائص مثل عدد العناصر و يجرى عليها عمليات (إضافة, حذف, ..........) 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات و تراكيب البيانات 2 غير خطي Nonlinear تجميعي Grouped هيكلي Hierarchal خطي Linear الوصول المباشر Direct Access الوصول المتسلسل Sequential Access 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات الخطية Linear و تقسم إلى قسمين: الوصول المباشر Direct Access الوصول المتسلسل Sequential Access 21/03/1440 إعداد: أ. محمد الفقهاء

الوصول المباشر Direct Access إن أشهر مثال على الوصول المباشر هو المصفوفة (Array) و التي تحمل مجموعة من العناصر المتشابهة في النوع. يمكن الوصول إلى أي عنصر في المصفوفة عن طريق ترتيب العنصر في المصفوفة. …… العنصر 1 2 n-1 j 21/03/1440 إعداد: أ. محمد الفقهاء

الوصول المباشر Direct Access إذا كان عدد العناصر في المصفوفة هو (n). فإن ترتيب آخر عنصر في المصفوفة هو (n-1) و ذلك لأن ترتيب أول عنصر بدأ بالرقم (0). من الأمثلة الأخرى على الوصول المباشر هو ال (String). …… العنصر 1 2 n-1 j 21/03/1440 إعداد: أ. محمد الفقهاء

الوصول المباشر Direct Access هناك نوع للبيانات من فصيلة الوصول المباشر و يسمى (Structure) و يتم بنائها و تعريفها من قبل المستخدم و يمكن أن تحتوي على عناصر غير متشابهة بالنوع. مثال على ال (Structure) الموظف يكون له اسم من نوع string و له راتب من نوع Integer. 21/03/1440 إعداد: أ. محمد الفقهاء

الوصول المتسلسل Sequential Access هو عبارة عن قائمة يتم تخزين القوائم بها بترتيب تسلسلي و هذا النوع من القوائم لا يحدد بحجم معين عند إنشائها. يمكن توسعتها و تقليصها بشكل تلقائي. الوصول إلى العناصر يكون بشكل متسلسل و مرتب. العنصر الأول العنصر الثاني العنصر الثالث …… الأخير Nth 21/03/1440 إعداد: أ. محمد الفقهاء

الوصول المتسلسل Sequential Access لغرض الوصول لأي عنصر في القائمة يجب أن تجتاز جميع العناصر التي قبله و هنالك وسيلتين لذلك: الوسيلة الأولى: باتجاه واحد من البداية إلى النهاية. الوسيلة الثانية: باتجاهين من البداية إلى النهاية و العكس. إن أبسط مثال على القوائم الخطية هو قائمة البقالة. القوائم الخطية المرتبة لها ميزة في أنها أسهل في تطبيق عملية البحث 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات غير الخطية Nonlinear و تقسم إلى قسمين: المجموعات الهيكلية Hierarchal collections التجاميع Group collection. 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات الهيكلية Hierarchal collections مبدا التقسيم في هذه الطريقة هي المستويات, حيث أن العنصر في المستوى الأعلى له عنصر تابع في المستوى الأدنى. نموذج الشجرة من الأمثلة الشائعة لهذه الطريقة و رأس الشجرة يسمى الجذر والعناصر الممتدة منه تسمى العقد. تنظيم الملفات في الويندوز هو مثال على استخدام الشجرة. 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات Group و هي أيظا غير خطية و لها ثلاث أقسام: الفئات Sets و هي أيظا غير خطية و لها ثلاث أقسام: الفئات Sets الرسوم Graphs الشبكات Networks 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات Group الفئات Sets: مجموع من البيانات غير المرتبة لكنها لا تقبل التكرار مثل كشف أسماء الطلبة. الرسوم Graph: مجموعة من النقاط Nodes و مجموعة من الروابط Edges تربط بين النقاط. 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات Group مثال على الرسوم القصيم الدمام الخرج مكة الرياض مثال على الرسوم تستخدم هذه الطريق في حالة كان يجب المرور على جميع النقاط و الهدف الوصول إلى المسار المثالي 21/03/1440 إعداد: أ. محمد الفقهاء

المجموعات Group الشبكة Network: و هي شبيهة بالرسوم لكن الروابط يكون لها قيمة (وزن) و هو يمثل تكلفة إستخدام هذا الرابط للمرور إلى نقطة أخرى. مثال: A C 72 91 D 186 142 202 B 21/03/1440 إعداد: أ. محمد الفقهاء

خوارزميات الترتيب Sorting Algorithms هنالك ثلاث أنواع رئيسية: ترتيب الفقاعة Bubble Sort ترتيب الإختيار Selection Sort ترتيب الإدخال Insertion Sort 21/03/1440 إعداد: أ. محمد الفقهاء

ترتيب الفقاعة Bubble Sort من سلبياتها أنها بطيئة لكنها ابسط خوارزمية للترتيب من ناحية الفهم و التطبيق. و طريقة عملها يقوم على مبدأ مقارنة العنصر الأول و الثاني و تبديل أماكنهما إن دعت الحاجة ثم الثاني مع الثالث و تستمر العملية حتى نهاية القائمة. 21/03/1440 إعداد: أ. محمد الفقهاء

مثال على ترتيب الفقاعة 21/03/1440 إعداد: أ. محمد الفقهاء

ترتيب الإختيار Selection Sort تبدأهذه الطريقة من بداية المصفوفة و يقارن أول عنصر مع باقي العناصر. بعد المقارنة يوضع أصغر عنصر في الخانة (0). يعاد الفحص من جديد لكن بدأ من الخانة (1). نكمل الطريقة حتى نصل نهاية المصفوفة أو القائمة. 21/03/1440 إعداد: أ. محمد الفقهاء

ترتيب الإدخال Insertion Sort هنا لا يوجد قائمة بل يتم الترتيب عند إدخال العناصر إلى القائمة. يتم إختيار مكان العنصر بين العناصر الموجودة عند إدخاله إلى القائمة. 21/03/1440 إعداد: أ. محمد الفقهاء

Searching algorithms خوارزميات البحث يعتبر البحث من أكثر العمليات شيوعا في نظام الحاسوب و أكثرها أهمية و مع إزدياد أحجام قواعد البيانات دعت الحاجة لوجود آليات بحث سريعة و ذات كفاءة عالية. يمكن ذكر أشهر طريقتين على البحث: البحث التسلسلي Sequential Search البحث الثنائي Binary Search 21/03/1440 إعداد: أ. محمد الفقهاء

Sequential Search البحث المتسلسل و هو من أكثرها وضوحا و يقوم مبدأ البحث في البدء من أول القائمة وصولا إلى آخرها حتى يتم إيجاد (عنصر البحث) و تسمى أيضا البحث الخطي (Linear Search). مثال: البحث عن أدنى أو أعلى قيمة؟ 21/03/1440 إعداد: أ. محمد الفقهاء

Sequential Search البحث المتسلسل للبحث عن أدنى أو أعلى قيمة يتم إتباع الخطوات التالية: تحديد أول عنصر بأنه أقل قيمة. مقارنة أقل قيمة بالقيمة المجاورة. إذا كانت القيمة المجاورة أقل تصبح هي أقل قيمة. الإكمال بنفس الطريقة حتى نهاية القائمة. 21/03/1440 إعداد: أ. محمد الفقهاء

Sequential Search البحث المتسلسل أدنى قيمه 4 مثال توضيحي لـ البحث عن أدنى قيمه لتسريع عملية البحث يمكن وضع الأرقام الأكثر تكرارا في مقدمة القائمة. 5 8 1 9 2 4 مقارنة مقارنة مقارنة 4 2 2 1 أدنى قيمه أدنى قيمه أدنى قيمه أدنى قيمه 21/03/1440 إعداد: أ. محمد الفقهاء

Binary search البحث الثنائي و يشترط لهذه الطريقة أن تكون القائمة مرتبة تصاعديا أو تنازليا. مثال إبحث عن رقم 8 في القائمة التالية: نأخذ الرقم الذي في المنتصف(5) و نقارنه مع 8. نجد أن ال 8 موجودة على النصف الأيمن من القائمة. نأخذ الرقم الذي في منتصف الجزء الأيمن فنجده 8. تم إيجاد الرقم الذي نبحث عنه. 9 8 6 5 4 2 1 21/03/1440 إعداد: أ. محمد الفقهاء