संगणकप्रोग्रामिंग

प्रोग्रामिंग तंत्र वर्गीकरण: वर्गीकरण "बबल"

बबल क्रमवारी फक्त, सर्वात वेगवान पद्धत मानली जात नाही आहे, शिवाय तो आयोजित करण्यासाठी धीमी मार्ग यादी बंद होते. तथापि, हे फायदे आहेत. त्यामुळे, बबल वर्गीकरण पद्धत - सर्वात की नाही आपण एक विशिष्ट क्रमाने आयटम व्यवस्था इच्छित असल्यास, समस्या एक नैसर्गिक आणि तार्किक उपाय आहे. फक्त अंतर्ज्ञान - एक सामान्य व्यक्ती स्वतः, उदाहरणार्थ, त्यांना वापर करेल.

जसे वेगळ्या नावाने कुठे होतात तिथे?

पद्धत नाव आले पाण्यात हवेत फुगे च्या समानता वापर करून. तो एक रूपक आहे. फक्त म्हणून थोडे हवेत फुगे ऊर्ध्वगामी काढणे - त्यांची घनता एक द्रवपदार्थ (या प्रकरणात - पाणी) पेक्षा जास्त आहे व प्रत्येक अरे घटक, लहान ते मूल्य, यादी संख्या वरच्या अधिक हळूहळू मार्ग आहे.

अल्गोरिदम वर्णन

खालीलप्रमाणे बबल क्रमवारी जातो

  • प्रथम पास: अरे क्रमांक घटक दोन जोड्या करून घेतले आहे आणि तुलनेत. दोन मोहरे संघ प्रथम मूल्य काही घटक दुसऱ्या पेक्षा जास्त असेल तर, कार्यक्रम त्यांना विनिमय ठिकाणी करते;
  • यामुळे, मोठी संख्या नाही अरे शेवटी. इतर सर्व घटक एक गोंधळलेला पद्धतीने ते होते म्हणून राहतील, आणि वर्गीकरण अधिक आवश्यक असताना;
  • आणि म्हणून दुसरा पास आवश्यक: तो समानता यांनी केले आहे मागील (आधीच वर्णन) आणि भेद संख्या आहे - वजा एक;
  • रस्ता संख्या तीन भेद, दुसऱ्या पेक्षा कमी, आणि पहिल्या दोन पेक्षा. आणि याप्रमाणे;
  • प्रत्येक रस्ता आहे की (सर्व सज्ज मूल्ये, विशिष्ट नंबर) वजा (रस्ता संख्या) भेद सारांश.

कार्यक्रम अगदी लहान अल्गोरिदम लिहिले जाऊ शकते:

  • संख्या अॅरे लांब म्हणून चेक केले आहे, कोणत्याही दोन संख्यांच्या आढळले आहेत म्हणून त्यांना दुसऱ्या प्रथम पेक्षा जास्त असणार आहे;
  • चुकीचा अरे सॉफ्टवेअर स्वॅप प्रत्येक इतर घटक संबंधात केले.

Pseudocode वर्णन अल्गोरिदम वर आधारित

खालीलप्रमाणे सोपा अंमलबजावणी चालते:

Sortirovka_Puzirkom प्रक्रिया;

सुरवात

konechii_index करण्यासाठी nachalnii_index पासून j सायकल;

konechii_index-1 nachalnii_index पासून मी सायकल;

तर massiv [i]> massiv [मी + 1] (प्रथम घटक दुसरा पेक्षा जास्त), नंतर:

(बदल मूल्ये ठेवतो);

शेवटी

अर्थात, या साधेपणा परिस्थिती aggravates: अल्गोरिदम सोपे, अधिक ते सर्व दोष येते. वेळ गुंतवणूक गुणोत्तर अगदी लहान अरे खूप महान आहे (येथे परस्परसंबंध येतो: सामान्य माणसासाठी वेळ रक्कम लहान वाटू शकते, पण एक प्रोग्रामर प्रत्येक दुसऱ्या किंवा अगदी मिलिसेकंद संख्या खरं तर).

हे चांगले अंमलबजावणी केली. उदाहरणार्थ, अरे ठिकाणी मूल्ये विनिमय खात्यात घेणे:

Sortirovka_Puzirkom प्रक्रिया;

सुरवात

sortirovka = true;

sortirovka खरे = पर्यंत सायकल;

sortirovka = false;

konechii_index-1 nachalnii_index पासून मी सायकल;

तर massiv [i]> massiv [मी + 1] (प्रथम घटक दुसरा पेक्षा जास्त), नंतर:

(घटक ठिकाणी बदला);

sortirovka = true; (ओळखले विनिमय केले गेले आहे की).

शेवट आहे.

मर्यादा

मुख्य गैरसोय - प्रक्रिया कालावधी. किती वेळ सुरू आहे अल्गोरिदम वर्गीकरण बबल?

आघाडी वेळ अरे चौरस क्रमांक संख्या पासून गणना केली जाते - ते शेवटी परिणाम प्रमाणात आहे.

अरे अनेक वेळा म्हणून पुरवले जाते सर्वात वाईट केस तर ते केवळ एका मूल्य वजा घटक आहे म्हणून. हे घडते शेवटी तुलना काहीही जे फक्त एक घटक आहे कारण, आणि अरे गेल्या पास निरुपयोगी क्रिया होते.

याच्या व्यतिरीक्त, हे फक्त लहान आकाराचे arrays करीता, असे म्हटले जाते, एक साधी विनिमय वर्गीकरण प्रभावी पद्धत आहे. प्रक्रिया मदतीने डेटा मोठ्या प्रमाणात कार्य करणार नाही: परिणाम एक त्रुटी कार्यक्रम अपयश एकतर असेल.

मोठेपण

बबल क्रमवारी समजून घेणे फार सोपे आहे. त्याच्या अरे क्रमवारी घटक अभ्यासात तांत्रिक विद्यापीठे अभ्यासक्रम प्रथम स्थानावर पास. पद्धत दोन्ही Delphi प्रोग्रामिंग भाषा (एल (Delphi), आणि C / C ++ (C / C अधिक अधिक), योग्य क्रमाने आणि स्थान अल्गोरिदम एक आश्चर्यजनक सोपे मूल्ये अंमलबजावणी करणे सोपे आहे पास्कल (पास्कल). बबल क्रमवारी सुरुवातीला आदर्श आहे.

मुळे अल्गोरिदम धोरणातील करण्यासाठी बाहेरील कारणांसाठी वापरले जात नाही.

व्हिज्युअल क्रमवारीवर तत्त्व

अरे 8 22 4 74 44 37: 1 7 प्रारंभ दृश्य

पायरी 1 8 22 4 74 44 37 1 7

8 22 4 74 44 1 37 7

8 22 4 74 1 44 37 7

8 22 4 1 74 44 37 7

8 22 1 4 74 44 37 7

8: 1 22 4 74 44 37 7

1 8 22 4 74 44 37 7

पायरी 2 1 8 22 4 74 44 7 37

1 8 22 4 74 7 44 37

1 8 22 4 7 74 44 37

1 8 22 4 7 74 44 37

1 8 4 22 7 74 44 37

1 4 ते 8 22 7 74 44 37

पाऊल 3 1 4 ते 8 22 7 74 37 44

1 4 8 22 7 37 74 44

1 4 8 22 7 37 74 44

1 4 ते 8 7 22 37 74 44

1 4 7 8 22 37 74 44

पाऊल 4 1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

पाऊल 5 1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

पाऊल 6 1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

पाऊल 7: 1 4 7 8 22 37 44 74

पास्कल बुडबुडा क्रमवारी उदाहरण

उदाहरण:

const kol_mas = 10;

var massiv: अरे या [1..kol_mas] पूर्णांक;

अ, ब, k: पूर्णांक;

सुरू

writeln ( 'इनपुट', kol_mas, 'अरे घटक');

एक: = 1 kol_mas करण्यासाठी readln करू (massiv [एक ]);

एक: = 1 kol_mas-1 सुरू करू

ब: = एक + kol_mas 1 सुरुवात करतात

massiv [एक]> massiv [तर b] नंतर सुरू

k: = massiv [एक]; massiv [एक]: = massiv [ b]; massiv [b]: = k;

समाप्त;

समाप्त;

समाप्त;

writeln ( 'क्रमवारी नंतर');

एक: = 1 kol_mas करण्यासाठी writeln करू (massiv [एक ]);

शेवटी.

उदाहरणार्थ बबल सी भाषा वर्गीकरण (क)

उदाहरण:

#include

#include

int मुख्य (int argc, वर्ण * argv [])

{

int massiv [8] = {36, 697, 73, 82, 68, 12, 183, 88}, मी ff;

साठी (;;) {

ff = 0;

साठी (i = 7 मी> 0; मी -) {

तर (massiv [मी] [i- 1]) {

स्वॅप (massiv [i], massiv [i- 1]);

ff ++;

}

}

तर (ff == 0) खंडित;

}

getch (); // प्रदर्शन विलंब

परत 0;

}.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mr.birmiss.com. Theme powered by WordPress.