🤔2🎉2👨💻2👍1
Radix sort
در این اینجا به الگوریتم مرتب سازی Radix می پردازیم. مرتبسازی رادیکس الگوریتم
مرتبسازی خطی است که برای اعداد صحیح استفاده میشود. در مرتبسازی رادیکس، مرتبسازی رقم به رقم انجام میشود که از کمترین رقم به مهمترین رقم آغاز میشود.
فرآیند مرتبسازی ریشهای مانند مرتبسازی اسامی دانشآموزان بر اساس ترتیب حروف الفبا عمل میکند. در این مورد، 26 ریشه به دلیل 26 الفبای انگلیسی تشکیل شده است. در پاس اول، اسامی دانش آموزان بر اساس ترتیب صعودی حرف اول نام آنها گروه بندی می شود. پس از آن در پاس دوم نام آنها بر اساس ترتیب صعودی حرف دوم نامشان گروه بندی می شود. و این روند تا زمانی ادامه می یابد که لیست مرتب شده را پیدا کنیم.
کار الگوریتم مرتب سازی Radix
حالا بیایید کار الگوریتم مرتب سازی Radix را ببینیم.
مراحل مورد استفاده در مرتب سازی مرتب سازی ریشه به شرح زیر است:
ابتدا باید بزرگترین عنصر (فرض کنید max) را از آرایه داده شده پیدا کنیم. فرض کنید 'x' تعداد ارقام در حداکثر باشد. 'x' محاسبه می شود زیرا ما باید از مکان های مهم همه عناصر عبور کنیم.
پس از آن، یک به یک از هر مکان مهم عبور کنید. در اینجا، ما باید از هر الگوریتم مرتبسازی پایدار برای مرتبسازی ارقام هر مکان مهم استفاده کنیم.
در آرایه داده شده، بزرگترین عنصر 736 است که دارای 3 رقم است. بنابراین، حلقه تا سه بار اجرا می شود (یعنی به مکان صدها). این بدان معناست که برای مرتب سازی آرایه سه پاس لازم است.
اکنون، ابتدا عناصر را بر اساس ارقام مکان واحد (یعنی x = 0) مرتب کنید. در اینجا، ما از الگوریتم مرتب سازی شمارش برای مرتب سازی عناصر استفاده می کنیم.
📣👨💻 @AlgorithmDesign_DataStructuer
در این اینجا به الگوریتم مرتب سازی Radix می پردازیم. مرتبسازی رادیکس الگوریتم
مرتبسازی خطی است که برای اعداد صحیح استفاده میشود. در مرتبسازی رادیکس، مرتبسازی رقم به رقم انجام میشود که از کمترین رقم به مهمترین رقم آغاز میشود.
فرآیند مرتبسازی ریشهای مانند مرتبسازی اسامی دانشآموزان بر اساس ترتیب حروف الفبا عمل میکند. در این مورد، 26 ریشه به دلیل 26 الفبای انگلیسی تشکیل شده است. در پاس اول، اسامی دانش آموزان بر اساس ترتیب صعودی حرف اول نام آنها گروه بندی می شود. پس از آن در پاس دوم نام آنها بر اساس ترتیب صعودی حرف دوم نامشان گروه بندی می شود. و این روند تا زمانی ادامه می یابد که لیست مرتب شده را پیدا کنیم.
کار الگوریتم مرتب سازی Radix
حالا بیایید کار الگوریتم مرتب سازی Radix را ببینیم.
مراحل مورد استفاده در مرتب سازی مرتب سازی ریشه به شرح زیر است:
ابتدا باید بزرگترین عنصر (فرض کنید max) را از آرایه داده شده پیدا کنیم. فرض کنید 'x' تعداد ارقام در حداکثر باشد. 'x' محاسبه می شود زیرا ما باید از مکان های مهم همه عناصر عبور کنیم.
پس از آن، یک به یک از هر مکان مهم عبور کنید. در اینجا، ما باید از هر الگوریتم مرتبسازی پایدار برای مرتبسازی ارقام هر مکان مهم استفاده کنیم.
در آرایه داده شده، بزرگترین عنصر 736 است که دارای 3 رقم است. بنابراین، حلقه تا سه بار اجرا می شود (یعنی به مکان صدها). این بدان معناست که برای مرتب سازی آرایه سه پاس لازم است.
اکنون، ابتدا عناصر را بر اساس ارقام مکان واحد (یعنی x = 0) مرتب کنید. در اینجا، ما از الگوریتم مرتب سازی شمارش برای مرتب سازی عناصر استفاده می کنیم.
📣👨💻 @AlgorithmDesign_DataStructuer
👨💻4
👨💻1
منظور از Threaded Binary Tree چیست؟
در نمایش پیوندی درختان باینری، بیش از نیمی از فیلدهای پیوند حاوی مقادیر NULL هستند که منجر به هدر رفتن فضای ذخیره سازی می شود. اگر یک درخت باینری از n گره تشکیل شده باشد، n+1 فیلد پیوند حاوی مقادیر NULL است. بنابراین به منظور مدیریت موثر فضا، روشی توسط Perlis و Thornton ابداع شد که در آن پیوندهای NULL با پیوندهای خاصی به نام نخ جایگزین می شوند. این گونه درختان دوتایی با نخ به عنوان درختان دودویی رشته ای شناخته می شوند. هر گره در یک درخت دودویی رشته ای یا حاوی پیوندی به گره فرزند خود یا رشته ای به گره های دیگر در درخت است.
📣👨💻 @AlgorithmDesign_DataStructuer
در نمایش پیوندی درختان باینری، بیش از نیمی از فیلدهای پیوند حاوی مقادیر NULL هستند که منجر به هدر رفتن فضای ذخیره سازی می شود. اگر یک درخت باینری از n گره تشکیل شده باشد، n+1 فیلد پیوند حاوی مقادیر NULL است. بنابراین به منظور مدیریت موثر فضا، روشی توسط Perlis و Thornton ابداع شد که در آن پیوندهای NULL با پیوندهای خاصی به نام نخ جایگزین می شوند. این گونه درختان دوتایی با نخ به عنوان درختان دودویی رشته ای شناخته می شوند. هر گره در یک درخت دودویی رشته ای یا حاوی پیوندی به گره فرزند خود یا رشته ای به گره های دیگر در درخت است.
📣👨💻 @AlgorithmDesign_DataStructuer
👌4👍1👨💻1
👨💻4🔥2
🤔5👍3👨💻1
Algorithm design & data structure
Photo
گزینه 4 : نیاز به پیمایش دارد تا آدرس گره ماقبل آخر بدست آیـد کـه مرتبـه آن O(n)می شود.
#پاسخ_تشریحی
#پاسخ_تشریحی
👌4👨💻1
👍4👨💻1
👍5👨💻1
شبه کد ضرب دو ماتریس با ابعاد n*n
حال اگر ما دو ماتریس داشته باشیم که با ابعاد زیر باشند:
r1 c1 r2 c2
A=[2,4] B=[4,5]
اگر بخواهیم ماتریس A را در ماتریس B ضرب کنیم ابعاد ماتریس ضرب آن ها به صورت زیر می باشد:
C=[r1,c2]
پس می توان نتیجه گرفت که حتما برای ضرب دو ماتریس یا چندین ماتریس در هم باید c1وr2 با هم برابر باشند تا بتوانیم ماتریس ها رو در هم ضرب کنیم که در واقع شرط ضرب دو ماتریس در هم می باشد.
📣👨💻 @AlgorithmDesign_DataStructuer
حال اگر ما دو ماتریس داشته باشیم که با ابعاد زیر باشند:
r1 c1 r2 c2
A=[2,4] B=[4,5]
اگر بخواهیم ماتریس A را در ماتریس B ضرب کنیم ابعاد ماتریس ضرب آن ها به صورت زیر می باشد:
C=[r1,c2]
پس می توان نتیجه گرفت که حتما برای ضرب دو ماتریس یا چندین ماتریس در هم باید c1وr2 با هم برابر باشند تا بتوانیم ماتریس ها رو در هم ضرب کنیم که در واقع شرط ضرب دو ماتریس در هم می باشد.
📣👨💻 @AlgorithmDesign_DataStructuer
👍2👨💻2
👍5🤔1💯1👨💻1