<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A9</id>
	<title>خوارزمية - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A9"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A9&amp;action=history"/>
	<updated>2026-06-14T09:25:52Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://3rabica.org/index.php?title=%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A9&amp;diff=1263245&amp;oldid=prev</id>
		<title>عبد العزيز: استرجاع تعديلات Algorithmstepss (نقاش) حتى آخر نسخة بواسطة Meno25</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D8%AE%D9%88%D8%A7%D8%B1%D8%B2%D9%85%D9%8A%D8%A9&amp;diff=1263245&amp;oldid=prev"/>
		<updated>2023-12-01T16:36:18Z</updated>

		<summary type="html">&lt;p&gt;استرجاع تعديلات &lt;a href=&quot;/%D8%AE%D8%A7%D8%B5:%D9%85%D8%B3%D8%A7%D9%87%D9%85%D8%A7%D8%AA/Algorithmstepss&quot; title=&quot;خاص:مساهمات/Algorithmstepss&quot;&gt;Algorithmstepss&lt;/a&gt; (&lt;a href=&quot;/index.php?title=%D9%86%D9%82%D8%A7%D8%B4_%D8%A7%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85:Algorithmstepss&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;نقاش المستخدم:Algorithmstepss (الصفحة غير موجودة)&quot;&gt;نقاش&lt;/a&gt;) حتى آخر نسخة بواسطة &lt;a href=&quot;/index.php?title=%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85:Meno25&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;مستخدم:Meno25 (الصفحة غير موجودة)&quot;&gt;Meno25&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[ملف:Image-Al-Kitāb al-muḫtaṣar fī ḥisāb al-ğabr wa-l-muqābala.jpg|تصغير|200بك|يسار]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;الخوارزمية&amp;#039;&amp;#039;&amp;#039; هي مجموعة من الخطوات [[رياضيات|الرياضية]] و[[المنطق]]ية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر [[محمد بن موسى الخوارزمي]] الذي ابتكرها في القرن التاسع الميلادي. الكلمة المنتشرة في [[لغات رومانسية|اللغات اللاتينية]] والأوروبية هي «algorithm» وفي الأصل كان معناها يقتصر على خوارزمية لتراكيب ثلاثة فقط وهي: [[تسلسل (توضيح)|التسلسل]] و[[خوارزمية الاختيار|الاختيار]] و[[تكرار (توضيح)|التكرار]].&lt;br /&gt;
&lt;br /&gt;
* التسلسل: تكون الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة، هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين.&lt;br /&gt;
* الاختيار: بعض المشاكل لا يمكن حلها بتسلسل بسيط للتعليمات، وقد تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة الاختبار، إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة، وإذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات. هذه الطريقة هي ما تسمى اتخاذ القرار أو الاختيار.&lt;br /&gt;
* التكرار: عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. وهذا ما يطلق عليه التكرار.&lt;br /&gt;
&lt;br /&gt;
و قد أثُبت أنه لاحاجة إلى تراكيب إضافية. استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية و[[اكتشاف الأخطاء]] الواردة فيها وتغييرها.&lt;br /&gt;
&lt;br /&gt;
== تعريف رسمي ==&lt;br /&gt;
{{عن||عرضا مفصلا لمختلف وجهات النظر حول تعريف &amp;quot;الخوارزمية&amp;quot;| خصائص الخوارزمية|أمثلة على  خوارزميات إضافة  بسيطة تحدد في الطريقة التفصيلية الموضحة في خواص الخوارزميات | أمثلة خوارزمية}}&lt;br /&gt;
على الرغم من عدم وجود إجماع رسمي على تعريف مناسب للـ «خوارزمية»، فمن الممكن صياغة تعريف غير رسمي لها عن طريق اعتبارها «مجموعة من القواعد التي تعبر عن سلسلة محددة من العمليات» &amp;lt;ref&amp;gt;Stone 1973:4&amp;lt;/ref&amp;gt; التي من شأنها أن تشمل جميع برامج الكمبيوتر، بما في ذلك البرامج التي لا تُجرى بها عمليات حسابية رقمية. وبالنسبة لبعض الناس، فإن أي برنامج هو خوارزمية إلا إذا كان يتوقف في نهاية المطاف.&amp;lt;ref&amp;gt;Stone يتطلب ببساطة أنه &amp;quot;يجب أن تنتهي في عدد محدود من الخطوات&amp;quot; (Stone 1973:7–8).&amp;lt;/ref&amp;gt; بالنسبة للآخرين، فإن البرنامج هو فقط خوارزمية إذا كان ينفذ عددا من الخطوات الحسابية.&lt;br /&gt;
&lt;br /&gt;
وهناك مثال نمطى لخوارزمية هو [[خوارزمية أقليدس|خوارزمية إقليدس]] لتحديد الحد الأقصى للقاسم المشترك لعددين؛ وكمثال (هناك أمثلة أخرى) موضحة من قبل [[بيان (رياضيات منفصلة)|الرسم البياني]] أعلاه وكمثال في جزء لاحق.&lt;br /&gt;
&lt;br /&gt;
{{Harvard citation text|Boolos|Jeffrey|1974, 1999}} تقدم معنى رسميا للكلمة في الاقتباس التالي:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;لا يوجد إنسان يمكنه أن يكتب بسرعة كافية، أو لمدة طويلة بما فيه الكفاية، أو صغيرة بما يكفي («أصغر وأصغر من دون حد...هل كنت ستجرب محاولة الكتابة على الجزيئات، على الذرات، أو حتى على الالكترونات»)أو أن تجرب أن تسرد كافة أعضاء مجموعة غير نهائية من الأعداد قابل للتعداد وتكتب أسمائهم، واحدا تلو الآخر، في بعض الصيغ العددية. ولكن البشر يمكنهم أيضا أن يفعلوا شيئا مفيدا بنفس القدر، في حالة بعض مجموعات الأعداد غير النهائية التي لاحصر لها: يمكن أن تعطي تعليمات صريحة&amp;#039;&amp;#039; لتحديد &amp;#039;&amp;#039;&amp;#039;ن&amp;#039;&amp;#039;&amp;#039; عضو ال من مجموعة&amp;#039;&amp;#039;، لمجموعة منتهية اعتباطية محدودة&amp;#039;&amp;#039; ن&amp;#039;&amp;#039;. هذه التعليمات هي أن تعطى بشكل صريح للغاية، في الشكل الذي يمكن أن نحصل عليه بواسطة آلة حاسبة، أو من قبل الإنسان الذي هو قادر فقط على القيام بعمليات بسيطة جدا على الرموز.&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;Boolos and Jeffrey 1974,1999:19&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
مصطلح «قابل للتعداد بلا حدود» يعني معدود باستخدام الأعداد الصحيحة ربما تمتد إلى ما لا نهاية«. وبالتالي، فإن Boolos وجيفري يقولون إن الخوارزمية تعني تعليمات لعملية» خلق«الأعداد الصحيحة الإخراج من عدد صحيح من مدخلات اعتباطية أو الأعداد الصحيحة التي من الناحية النظرية، يمكن اختيارها من 0 إلى ما لا نهاية. وبالتالي خوارزمية يمكن أن تكون معادلة جبرية مثل&amp;#039;&amp;#039; ص = م + ن&amp;#039;&amp;#039; اثنان — إعتباطى» متغيرات المدخلات &amp;#039;&amp;#039;م&amp;#039;&amp;#039; &amp;#039;&amp;#039;ن&amp;#039;&amp;#039; والتي تنتج ناتج &amp;#039;&amp;#039;ذ&amp;#039;&amp;#039;. لكن مختلف المؤلفين حاولوا تعريف مفهوم يشير إلى أن الكلمة تعني أكثر من ذلك بكثير، وهو أمر بناء على أمر من (للمثال بالإضافة إلى ذلك):&lt;br /&gt;
: تعليمات دقيقة (في لغة يفهمها «الكمبيوتر»)&amp;lt;ref&amp;gt;cf Stone 1972:5&amp;lt;/ref&amp;gt; ل سريعة وفعالة، «جيدة» &amp;lt;ref&amp;gt;Knuth 1973:7 states: &amp;quot;في الواقع نحن لا نريد فقط الخوارزميات، بل نحن نريد خوارزميات &amp;#039;&amp;#039; جيدة&amp;#039;&amp;#039;... معيار واحد من الخير هو طول الوقت الذي يستغرقه أداء الخوارزمية... other criteria are the adaptability of the algorithm to computers, its simplicity and elegance, etc.&amp;quot;&amp;lt;/ref&amp;gt; العملية التي تحدد «التحركات» من «جهاز الكمبيوتر» أو (آلة أو إنسان، المجهز بما يلزم من المعلومات والقدرات الداخلية)&amp;lt;ref&amp;gt;cf Stone 1973:6&amp;lt;/ref&amp;gt; للعثور على، أو فك شفرة، ومن ثم عملية اعتباطية صحيحة الإدخال / حرف&amp;#039;&amp;#039; م&amp;#039;&amp;#039; ن&amp;#039;&amp;#039; و&amp;#039;&amp;#039;،&amp;#039;&amp;#039; +&amp;#039;&amp;#039; رموز و&amp;#039;&amp;#039;=&amp;#039;&amp;#039; ... و&amp;lt;ref&amp;gt;Stone 1973:7–8 تنص على أنه يجب أن يكون هناك، حالات فعالة &amp;quot;...إجراء من شأنه أن الروبوت [أي كمبيوتر] يمكنع اتباعها من أجل تحديد بدقة كيفية الانصياع لتعليمات. &amp;quot;Stone يضيف محدودية العملية, والوضوح (عدم وجود غموض في التعليمات) لهذا التعريف.&amp;lt;/ref&amp;gt; لإنتاج، في وقت «معقول»,&amp;lt;ref&amp;gt;Knuth, loc. cit&amp;lt;/ref&amp;gt; الناتج عدد صحيح&amp;#039;&amp;#039; ذ&amp;#039;&amp;#039; في مكان محدد وفي شكل محدد.&lt;br /&gt;
&lt;br /&gt;
ويستخدم مفهوم الخوارزمية أيضا في تعريف مفهوم [[قدرة إتخاذ القرار (المنطق)|قدرة إتخاذ القرار]]. هذه الفكرة هي مركزية لشرح كيفية [[النظام الرسمي]] تأتي إلى حيز الوجود بدءا من مجموعة صغيرة من [[مسلمة (فلسفة)|البديهيات]] والقواعد. في [[المنطق]]، في وقت لا يمكن قياسه، الذي يتطلبه لإكمال خوارزمية كما أنه لا يرتبط على ما يبدو مع البعد المادي العرفي الذي نألفه. من هذه الشكوك، التي تميز العمل الجاري، ينبع عدم توفر تعريف الخوارزمية التي يناسب كلا من الاستخدام المحدد (بمعنى ما) والاستخدام المجرد لهذا المصطلح.&lt;br /&gt;
&lt;br /&gt;
== إضفاء الطابع الرسمي ==&lt;br /&gt;
&lt;br /&gt;
الخوارزميات ضرورية كى تقوم أجهزة الكمبيوتر بتفعيل البيانات بطريقة عملية. كثير من [[برنامج الكمبيوتر]] تحتوي على الخوارزميات التي تقوم بتفصيل تعليمات محددة للكمبيوتر التي ينبغي أن تؤدي (في ترتيب معين) للاضطلاع بمهمة محددة، مثل حساب رواتب الموظفين أو طباعة بطاقات تقارير الطلاب، وبالتالي، يمكن اعتبار الخوارزميات أن تكون أي تسلسل من العمليات التي يمكن محاكاتها من قبل نظام [[اكتمال تورنغ|تكامل تورنغ]]. الكتاب الذين يؤكدون هذه الأطروحة يشملون [[منسكي]] (1967)، [[سافاج]] (1987) [[وجورفيتش]] (2000):&lt;br /&gt;
&amp;lt;blockquote&amp;gt; منسكي: «ولكننا سوف تحافظ أيضا، مع [[آلان تورنغ]]... أن أي إجراء يمكن بطريقة» طبيعية «أن يسمى فعالا، ويمكن في الواقع أن يتحقق أو يدرك من قبل آلة (بسيطة) وبالرغم من أن هذا قد يبدو متطرفا، فالحجج... في صالحها يصعب دحضها».&amp;lt;ref name=&amp;quot;Minsky 1967:105&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Minsky&amp;#039;&amp;#039;&amp;#039; 1967:105&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[جورفيتش]]: «... حجة تورنغ الرسمية لصالح أطروحته تبرر أقوى أطروحة: كل خوارزمية يمكن محاكاتها بواسطة [[آلة تورنغ]]... وفقا [[لسافاج]] [1987]، الخوارزمية هي عملية حسابية محددة بواسطة آلة تورنغ».&amp;lt;ref&amp;gt;Gurevich 2000:1, 3&amp;lt;/ref&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
عادة، عندما تترافق أي خوارزمية مع معلومات المعالجة، تُقْرَأُ البيانات من مصدر المدخلات، وتكتب إلى جهاز إخراج، و / أو تُخزَّن لمزيد من المعالجة. وتعتبر البيانات المخزنة جزءا من الحالة الداخلية للكيان الذي يقوم بأداء الخوارزمية. في الممارسة العملية، تُخزَّن حالة النظام في واحدة أو أكثر من [[بنية بيانات|بنية البيانات]].&lt;br /&gt;
&lt;br /&gt;
لبعض هذه العملية الحسابية، الخوارزمية يجب تعريف الخوارزمية بطريقة صارمة: محددا الطريقة التي تطبق في جميع الظروف الممكنة التي يمكن أن تنشأ. وهذا هو، فإن أي خطوات مشروطة يجب التعامل معها بمنهجية، كل حالة على حدة؛ وإن معايير كل حالة يجب أن تكون واضحة (ومحسوب).&lt;br /&gt;
&lt;br /&gt;
لأن الخوارزمية هي قائمة دقيقة لخطوات دقيقة، إن ترتيب الحوسبة يعد أمرا بالغ الأهمية لأداء الخوارزمية دائما. وعادة ما يفترض أن التعليمات تكون مدرجة بشكل صريح، وتوصف بأنها تبدأ من «أعلى» والذهاب إلى «أسفل»، وهي الفكرة التي توصف رسميا من قبل أكثر &amp;#039;&amp;#039;[[التحكم في التدفق|تدفق عناصر التحكم]]&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
حتى الآن، وقد أدت هذه المناقشة لإضفاء الطابع الرسمي على الخوارزمية قد افترضت بناء [[برمجة أمرية]]. هذا هو المفهوم الأكثر شيوعا، ومحاولات وصف المهمة في وسائل منفصلة، «ميكانيكية». فريدة من نوعها لهذا المفهوم من الخوارزميات رسميا هو [[تعيين (علوم الحاسوب)]]، وتحديد قيمة المتغير. أنه مستمد من الحدس من «[[ذاكرة (توضيح)|الذاكرة]]» باعتبارها scratchpad. هناك على سبيل المثال أدناه مثل هذا التعيين بالأسفل.&lt;br /&gt;
&lt;br /&gt;
لبعض المفاهيم البديلة لما يشكل الخوارزمية انظر [[برمجة وظيفية|البرمجة الوظيفية]] وال[[برمجة منطقية]].&lt;br /&gt;
&lt;br /&gt;
=== التعبير عن الخوارزمية ===&lt;br /&gt;
ويمكن التعبير عن الخوارزميات في العديد من أنواع التدوينات، بما في ذلك [[لغة طبيعية|اللغة الطبيعية]] و[[أشباه الكود]]، [[المخططات الانسيابية]]، [[لغة برمجة دراكون|دراكون-الرسم البياني]] و[[لغة برمجة|لغات البرمجة]] أو [[جداول التحكم]] (التي تُعالج بواسطة [[مترجم (الحوسبة)|المترجمين الفوريين]]).&lt;br /&gt;
&amp;lt;!-- Natural language expressions of algorithms tend to be verbose and ambiguous, and are rarely used for complex or technical algorithms. Pseudocode, flowcharts, [[دراكون|drakon-charts]] and control tables are structured ways to express algorithms that avoid many of the ambiguities common in natural language statements. Programming languages are primarily intended for expressing algorithms in a form that can be executed by a computer, but are often used as a way to define or document algorithms.&lt;br /&gt;
&lt;br /&gt;
There is a wide variety of representations possible and one can express a given [[آلة تورنغ]] program as a sequence of machine tables (see more at [[آلة ذات حالات منتهية]]، [[state transition table]] and [[control table]]), as flowcharts and [[دراكون|drakon-charts]] (see more at [[مخطط الحالة]]), or as a form of rudimentary [[لغة الآلة]] or [[لغة تجميع]] called &amp;quot;sets of quadruples&amp;quot; (see more at [[آلة تورنغ]]).&lt;br /&gt;
&lt;br /&gt;
Representations of algorithms can be classed into three accepted levels of Turing machine description:&amp;lt;ref&amp;gt;Sipser 2006:157&amp;lt;/ref&amp;gt;&lt;br /&gt;
; 1 High-level description&lt;br /&gt;
: &amp;quot;...prose to describe an algorithm, ignoring the implementation details. At this level we do not need to mention how the machine manages its tape or head.&amp;quot;&lt;br /&gt;
; 2 Implementation description&lt;br /&gt;
: &amp;quot;...prose used to define the way the Turing machine uses its head and the way that it stores data on its tape. At this level we do not give details of states or transition function.&amp;quot;&lt;br /&gt;
; 3 Formal description&lt;br /&gt;
: Most detailed, &amp;quot;lowest level&amp;quot;, gives the Turing machine&amp;#039;s &amp;quot;state table&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For an example of the simple algorithm &amp;quot;Add m+n&amp;quot; described in all three levels, see [[Algorithm examples]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== تمثيلها ==&lt;br /&gt;
[[ملف:Euclid_flowchart.svg|تصغير|200بك| خريطة انسيابية تمثل خوارزم إقليدس لحساب القاسم الأكبر المشترك (g.c.d.) بين عددين a وb في موضعين يدعيان A وB. يتم الخوارزم عبر سلسلة من عمليات الطرح المتتالية في حلقتين: إذا كان الفحص B ≤ A ينتج عنه &amp;quot;نعم&amp;quot; (أو قضية صائبة) فإن العدد b في الموضع B أقل من أو يساوي العدد a في الموضع A)ثم يعين الخوارزم B ← B - A (بمعنى أن العدد b - a يبدل القيمة السابقة b). بالمثل، إذا كان A &amp;gt; B فإن A ← A - B.حينما تصبح (محتويات) B مساوية لـ 0، وينجم عن ذلك قاسم مشترك أكبر في A.]]&lt;br /&gt;
1- [[خارطة الانسياب|خرائط الانسياب]]: هو تمثيل مصور للخوارزمية يوضح خطوات [[حل المشكلات|حل المشكلة]] من البداية إلى النهاية مع إخفاء التفاصيل لإعطاء الصورة العامة للحل.&lt;br /&gt;
و يمكن تصنيفها إلى أصناف أربعة هي:&lt;br /&gt;
* مخططات سير العمليات [[متتالية|التتابعية]] (Sequential Flowcharts).&lt;br /&gt;
* مخططات سير العمليات ذات التفرع (Branched Flowcharts).&lt;br /&gt;
* مخططات سير العمليات ذات التكرار والدوران (Loop Flowcharts).&lt;br /&gt;
* مخططات سير العمليات ذات الاختيار (Selection Flowcharts).&lt;br /&gt;
&lt;br /&gt;
2-الشفرة الوصفية (Pseudocode): وصف الخوارزمية بلغات البشر كالإنجليزية أو الفرنسية أو العربية بطريقة مشابهه للغات البرمجة ولكن بدون أي انتماء لها. البعض يستخدم الكثير من التفاصيل (لتصبح قريبة من لغات البرمجة) والبعض الآخر يستخدم القليل (أي أقرب للغة البشر)... فلا قاعدة معينة لكتابة هذا النوع من الشفرات.&lt;br /&gt;
&lt;br /&gt;
== خوارزميات حاسوبية ==&lt;br /&gt;
في أنظمة [[حاسوب|الحاسوب]]، تمثل الخوارزميات في الأساس صورة من [[المنطق|منطق]] أعيد كتابته بواسطة (برمجيات) ليصبح أكثر فعالية يمكن استغلاله في الحواسيب والحصول على النتائج (مخرجات) من بيانات معطاة (مدخلات).&lt;br /&gt;
&lt;br /&gt;
=== قواعد البرمجة ===&lt;br /&gt;
هناك أربعة طرق يستعان بها في الخوارزم البرمجي هي:&lt;br /&gt;
* التكرار Looping&lt;br /&gt;
مثال لحساب 2 أس 50.&lt;br /&gt;
* التفرع Branching&lt;br /&gt;
وتمكننا من ادخال معادلات معقدة للحاسوب ليقوم بمعالجتها بطريقة آلية.&lt;br /&gt;
* الاختيار Selection&lt;br /&gt;
فائدة هذة الخاصية تظهر خاصة في ترتيب اعداد بطريقة تنازلية أو العكس.&lt;br /&gt;
* التتابع Sequence&lt;br /&gt;
تتابع الاوامر حيث ينفذها جهاز الحاسوب حسب الترتيب.&lt;br /&gt;
&lt;br /&gt;
== أمثلة ==&lt;br /&gt;
=== مثال الترتيب ===&lt;br /&gt;
{{أيضا|ترتيب سريع}}&lt;br /&gt;
[[ملف:Sorting quicksort anim.gif|تصغير|صورة متحركة [[ترتيب سريع|للترتيب السريع]] لترتيب منظومة من القيم العشوائية. القضبان الحمراء تشير إلى عنصر محور الارتكاز، في بداية الصورة المتحركة، يُخْتَار العنصر الواقع أقصى اليمين كمحور ارتكاز.]]&lt;br /&gt;
&lt;br /&gt;
يُعدّ البحث عن العدد الأكبر في قائمة (غير مرتبة) من الأعداد أحد أبسط الخوارزميات. يتطلب الحل فحص كل عدد في القائمة، بحيث يُفحص عدد واحد في كل خطوة. يمكن صياغة هذه الخوارزمية البسيطة بلغة برمجية عليا كما يلي:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;وصف عالي المستوى:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# افرض أن العنصر الأول هو الأكبر.&lt;br /&gt;
# انظر إلى كل عنصر من عناصر القائمة المتبقية وإذا كان أكبر من العنصر الأكبر حتى الآن، قم بوضع علامة عليه.&lt;br /&gt;
# يكون العنصر المعلم الأخير هو أكبر عنصر في القائمة عند انتهاء العملية.&lt;br /&gt;
&lt;br /&gt;
=== خوارزمية إقليدس ===&lt;br /&gt;
تظهر خوارزمية إقليدس في المسألة الثانية من كتابه («نظرية الأعداد الأساسية»).&amp;lt;ref&amp;gt;Heath 1908:300; Hawking’s Dover 2005 edition derives from Heath.&amp;lt;/ref&amp;gt; يعرض إقليدس المسألة: «إذا كان لدينا عددان أوليان فيما بينهما، لإيجاد قياسهما المشترك الأكبر». يقوم بتعريف «العدد [بأنه] متعدد مؤلف من وحدات»:، عدد حسابي، عدد موجب لا يتضمن الصفر. ومن أجل «القياس» فيعني أن نضع قطعة قياس طولية &amp;#039;&amp;#039;s&amp;#039;&amp;#039; بشكل متعاقب (&amp;#039;&amp;#039;q&amp;#039;&amp;#039; من المرات) على طول القطعة الأطول &amp;#039;&amp;#039;l&amp;#039;&amp;#039; حتى يتبقى الجزء &amp;#039;&amp;#039;r&amp;#039;&amp;#039; أقل من القطعة الأقصر &amp;#039;&amp;#039;s&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;&amp;quot; &amp;#039;Let CD, measuring BF, leave FA less than itself.&amp;#039; This is a neat abbreviation for saying, measure along BA successive lengths equal to CD until a point F is reached such that the length FA remaining is less than CD; in other words, let BF be the largest exact multiple of CD contained in BA&amp;quot; (Heath 1908:297&amp;lt;/ref&amp;gt; في العبارات الحديثة نقول، الباقي &amp;#039;&amp;#039;r = l - q*s&amp;#039;&amp;#039;، &amp;#039;&amp;#039;q&amp;#039;&amp;#039; هي حاصل القسمة، &amp;#039;&amp;#039;r&amp;#039;&amp;#039; «باقي القسمة», الجزء الكسري المتبقي بعد إجراء القسمة.&amp;lt;ref&amp;gt;For modern treatments using division in the algorithm see Hardy and Wright 1979:180, Knuth 1973:2 (Volume 1), plus more discussion of Euclid&amp;#039;s algorithm in Knuth 1969:293-297 (Volume 2).&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== برنامج بسيط لمحاكاة خوارزمية إقليدس ==&lt;br /&gt;
المثال التالي بلغة بيسك يمثل برنامجاً بسيطاً ينفذ خوارزمية إقليدس:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;freebasic&amp;quot;&amp;gt;&lt;br /&gt;
   5  REM Euclid&amp;#039;s algorithm for greatest common divisor&lt;br /&gt;
   6  PRINT &amp;quot;Type two integers greater than 0&amp;quot;&lt;br /&gt;
   10 INPUT A,B&lt;br /&gt;
   20 IF B=0 THEN GOTO 80&lt;br /&gt;
   30 IF A &amp;gt; B THEN GOTO 60&lt;br /&gt;
   40 LET B=B-A&lt;br /&gt;
   50 GOTO 20&lt;br /&gt;
   60 LET A=A-B&lt;br /&gt;
   70 GOTO 20&lt;br /&gt;
   80 PRINT A&lt;br /&gt;
   90 END&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== التحليل الخوارزمي ==&lt;br /&gt;
من المهم كثيرا أن نعرف كم من مورد معين (مثل [[الوقت]] أو [[التخزين]]) مطلوب نظريا لخوارزمية معينة. وقد وضعت طرق لتحليل الخوارزميات للحصول على هذه الإجابات الكمية (تقديرات)، على سبيل المثال، خوارزمية الترتيب أعلاه لتقدير الوقت الذي قد تستغرقه في عملية التنفيذ نعبر عنه ب O(n) ، وذلك باستخدام O تدوين كبيرة مع n يمثل طول القائمة (Array). في جميع تعليمات هذه الخوارزمية تحتاج فقط إلى تذكر متغيرين: العدد الأكبر الذي عثرت عليه الا حد الآن، وموقعها الحالي في قائمة المدخلات. لذلك يجب أن نعبر عنها عبر(O(1، أي المساحة المطلوبة لتخزين أرقام المدخلات لا تحصى.&lt;br /&gt;
قد تقوم عدة خوارزميات بتنفيذ المهمة نفسها من خلال مجموعة مختلفة من التعليمات في وقت أقل أو أكثر، مساحة، أو جهد من غيرها. على سبيل المثال، خوارزمية البحث الثنائي (binary search) عادة ما تكون اكثر كفاؤة و سرعة من البحث المتتابع (linear search) عندما تستخدم لعمليات البحث على القوائم التي رتبت من قبل.&lt;br /&gt;
&lt;br /&gt;
== تسريع الإف إف تي ==&lt;br /&gt;
لإضفاء التحسينات الممكنة حتى في بعض الخوارزميات «المبنية بشكل جيد»، وهذا [[ابتكار]] هام يتعلق بخوارزميات الإف إف تي (التي تستخدم بشكل كبير جدا في مجال [[معالجة الصور الرقمية|معالجة الصور]])، قد تمكن من خفض عدد مرات المعالجة بمعامل يصل إلى 10000 مرة. أثر هذا التسريع إلى تمكين [[الأجهزة الحاسوبية]] المحمولة (فضلا عن غيرها من الأجهزة) من استهلاك طاقة أقل.&amp;lt;ref&amp;gt;Haitham Hassanieh, Piotr Indyk, Dina Katabi, and Eric Price http://siam.omnibooksonline.com/2012SODA/data/papers/500.pdf Kyoto, January 2012. See also the sFFT Web Page {{Webarchive|url=https://web.archive.org/web/20130704180806/http://siam.omnibooksonline.com/2012SODA/data/papers/500.pdf|date=2013-07-04}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== اقرأ أيضا ==&lt;br /&gt;
* [[مجموعة قابلة للحساب]]&lt;br /&gt;
== مصادر ==&lt;br /&gt;
&lt;br /&gt;
{{مراجع}}&lt;br /&gt;
{{روابط شقيقة}}&lt;br /&gt;
{{التحسيب التطوري}}&lt;br /&gt;
{{الرياضيات والفن}}&lt;br /&gt;
{{تصميم}}&lt;br /&gt;
{{الرياضيات الصناعية والتطبيقية}}&lt;br /&gt;
{{مصادر طبية}}&lt;br /&gt;
{{ضبط استنادي}}&lt;br /&gt;
{{شريط بوابات|خوارزميات|رياضيات|علم الحاسوب}}&lt;br /&gt;
&lt;br /&gt;
[[تصنيف:خوارزميات|*]]&lt;br /&gt;
[[تصنيف:اختراعات إيرانية]]&lt;br /&gt;
[[تصنيف:معلوماتية نظرية]]&lt;br /&gt;
[[تصنيف:منطق رياضي]]&lt;/div&gt;</summary>
		<author><name>عبد العزيز</name></author>
	</entry>
</feed>