کلاس هایی ساده برای ایجاد و استفاده از مجموعه ها در net.

برای استفاده از امکان ایجاد مجموعه ها و استفاده از عملگر های مجموعه ای در حال حاضر چند کتابخانه وجود دارد. که با استفاده از امکانات موجود در net. به این کار میپردازند. لیست این کتابخانه و مقالات رو در ادامه خواهید دید.

نام مقاله یا کتابخانه لینک دسترسی
Add Support for “Set”Collections to .NET http://www.codeproject.com/KB/recipes/sets.aspx
کلاس HashSet در net4.

http://msdn.microsoft.com/en-us/library/bb495294.asp

این فکر ۳ سال در ذهنم بود که یک کلاس ساده برای استفاده از مجموعه ها بنویسم! کلاس های موجود در لیست بالا کلاس های کارآمد و مناسبی برای فعالیت های مجموعه ای در .net هستند. ولی کلاس نوشته شده توسط من بیشتر جنبه ی آموزشی دارد. و برای فهم عملکرد آن نیازی به دانش چندانی از .net نیست.

… ادامه در فایل  pdf ….

فایل حاوی مستندات و سورس برنامه و کتابخانه در لینک زیر قابل دسترسی است…

صفحه ی پروژه در codeplex

محاسبات علمی در متلب یا دات نت؟

از لحاظ فنی مقایسه کردن این دو باهم کار چندان مناسبی نیست. متلب در وهله ی اول یک نرم افزار برای شبیه سازی و فعالیت های مربوط به محاسبات علمی است. برنامه متلب طی سالهایی که در حال توسعه و گسترش بوده به یک مجموعه در هم تنیده از نرم افزار و رابط های گرافیکی و یک سری امکانات اسکریپت نویسی تبدیل شده است. این مجموعه ابزارهای قدرتمندی را در اختیار محققان گذاشته تا بدون نیاز به دانش برنامه نویسی و مطالعه ی تکنولوژی های مختلف، به کار تحقیق یا پیاده سازی بپردازند. در اینکه متلب از لحاظ سادگی در استفاده یک شاهکار به حساب میاید شکی نیست. البته شایان ذکر است که متلب تنها برنامه برای محاسبات علمی و تحقیقاتی نیست. این نرم افزار معادل هایی دارد که قویترین آنها، نرم افزار متن باز اوکتاو (gnu octave) می باشد. این نرم افزار کاربرانی به وسعت متلب ندارد؛ ولی یکی از قویترین نرم افزار ها در این ردیف محسوب می شود…….
ادامه در فایل pdf

n وزیر در متلب

کد متلب برای حل مسئله ی n وزیر با استفاده از روش بکترکینک…

function R = MainNQueen(n)
%MainNQueen Compute NQueen with backtracking algorithm
% n is number of queens
% example: n = 8;
global COL ; % vector of queens column of queens
COL = zeros(n, 1);
Queens(0, n);
R = COL;
end
function returnValue = Queens(index , n)
global COL
if promising(index) == 1
if index == n
returnValue = COL;
else
for j=1:n
COL(index+1) = j;
Queens(index + 1, n)
end
end
end
end

function returnValue = promising(i)
global COL
swich = 1;
k = 1;
while (k < i) && (swich == 1)
if (COL(i) == COL(k)) || (abs(COL(i) - COL(k)) == i - k)
swich = 0;
end
k = k + 1;
end
returnValue = swich;
end


mفایل مربوطه رو هم از اینجا دانلود کنید.