من از یک فایل باینری 100000 تا داده می خوانم و در یک آرایه می ریزم بعد می خوام با quicksort مرتبش کنم اما پیغام stackoverflow می ده چکار کنم.
ممنون.
من از یک فایل باینری 100000 تا داده می خوانم و در یک آرایه می ریزم بعد می خوام با quicksort مرتبش کنم اما پیغام stackoverflow می ده چکار کنم.
ممنون.
احتمالا دارید یک تابع رو در یک لوپ بی نهایت صدا میزنید یا خلاصه یه چیزی توی لوپ افتاده. کدتون رو اینجا بزارید
هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مىآورند
آرایه اش تقریبا مرتب است و بنابراین تعداد دفعات فراخوانی اش به صورت بازگشتی خیلی زیاد است.فکر کنم مشکل از این باشد.
لطفا اگه میدونید کمک کنید.
ببینید در واقع 70% آرایه ام صفر است نه اینکه مرتب باشه ها و احتمالا این تعداد دفعاتی که تابع ام به طور بازگشتی فراخوانی میشه را افزایش می ده ، که این errror را می ده .
راهی برای افزایش سایز استک وجود دارد؟
خوب 100000 تا داده که خیلی زیاده، حتی اگه داده هاتون 1 بایتی باشند. شما باید پیچیدگی های زمانی و فضایی الگوریتک رو هم در نظر بگیرید، درسته که این اسمش Quick Sort هستش، ولی همیشه بهترین الگوریتم نیست. این الگوریتم آرایه شما ره هییییییی تکه تکه میکنه، پس طبیعی که Stack Overflow هم بده! بهتره از یه اگوریتم دیگه استفاده کنید. مخصوصاً الگوریتم های تکراری (بجای بازگشتی)
مثلا چی؟ آخه مساله زمانی هم برام خیلی مهمه.
شما چی پیشنهاد می کنید.
اگر دقیق فهمیده باشم، 100000 داده خوانده شده و توی یک آرایه به اندازه 100000 ریخته شده است. میشه به جای این کار، داده ها رو توی دو (شاید هم بیشتر!) ارایه بریزیم البته با اندازه های (طولهای) کمتر، مثلا میشه توی دو آرایه با سایز 50000 تا ریختشون و با الگوریتم quicksort مرتبشون کرد، پس الان دو تا آرایه مرتب شده داریم، به راحتی میشه این دو تا آرایه رو توی یک آرایه مرتب دیگه (با سایز 100000) ریخت. شاید اینجوری error نده!
خودت stack تعریف کن و ازش استفاده کن
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin