জাভাস্ক্রিপ্টে অ্যারেগুলি আইটেমগুলি যুক্ত করে এবং মুছে ফেলার মাধ্যমে সংশোধন করা খুব সহজ। এটি কিছুটা সত্যই মুখোশ দেয় যে বেশিরভাগ ভাষা অ্যারে স্থির আকারের এবং আকার পরিবর্তন করতে জটিল ক্রিয়াকলাপ প্রয়োজন require দেখে মনে হচ্ছে জাভাস্ক্রিপ্টটি খারাপভাবে সম্পাদন করা অ্যারে কোড লিখতে সহজ করে তোলে। এটি প্রশ্ন বাড়ে:
অ্যারে পারফরম্যান্সের ক্ষেত্রে জাভাস্ক্রিপ্ট বাস্তবায়ন থেকে কী পারফরম্যান্স (বিগ ও টাইম জটিলতার নিরিখে) আমি আশা করতে পারি?
আমি ধরে নিই যে সমস্ত যুক্তিসঙ্গত জাভাস্ক্রিপ্ট প্রয়োগগুলি সর্বাধিক নিম্নলিখিত বড় ওগুলির রয়েছে।
- অ্যাক্সেস - ও (1)
- সংযোজন - ও (এন)
- প্রস্তুতি - ও (এন)
- সন্নিবেশ - ও (এন)
- মোছা - ও (এন)
- অদলবদল - ও (1)
জাভাস্ক্রিপ্ট আপনাকে new Array(length)
সিনট্যাক্স ব্যবহার করে একটি নির্দিষ্ট আকারে একটি অ্যারে প্রাক-পূরণ করতে দেয় । (বোনাস প্রশ্ন: এই পদ্ধতিতে একটি অ্যারে তৈরি করছে ও (1) বা ও (এন)) এটি আরও প্রচলিত অ্যারের মতো এবং যদি প্রাক আকারের অ্যারে হিসাবে ব্যবহৃত হয় তবে ও (1) সংযোজনের অনুমতি দিতে পারে can যদি বিজ্ঞপ্তি বাফার যুক্তি যুক্ত হয় তবে আপনি ও (1) প্রিপেন্ডিং অর্জন করতে পারেন। যদি গতিশীলভাবে প্রসারিত অ্যারে ব্যবহার করা হয় তবে ও (লগ এন) তাদের উভয়েরই গড় ক্ষেত্রে হবে।
আমি এখানে আমার অনুমানের চেয়ে কিছু জিনিসের জন্য আরও ভাল পারফরম্যান্সের আশা করতে পারি? আমি প্রত্যাশা করি না যে কোনও স্পেসিফিকেশনগুলিতে কোনও কিছুর রূপরেখা রয়েছে, তবে বাস্তবে, এটি হতে পারে যে সমস্ত বড় বাস্তবায়নগুলি পর্দার পিছনে অনুকূলিত অ্যারে ব্যবহার করে। কর্মক্ষেত্রে গতিশীলভাবে অ্যারেগুলি বা অন্য কোনও কার্য সম্পাদন-বৃদ্ধিকারী অ্যালগরিদমগুলি প্রসারিত করছে?
পুনশ্চ
আমি যে কারণে এটি ভাবছি তা হ'ল আমি কিছু বাছাই করা অ্যালগরিদমগুলি নিয়ে গবেষণা করছি, যার মধ্যে বেশিরভাগ মনে হয় তাদের সামগ্রিক বড় ও এর বর্ণনা দেওয়ার সময় ও (1) অপারেশনগুলি যুক্ত করা এবং মুছে ফেলা হচ্ছে operations
length
সম্পত্তি নির্ধারণ এবং প্রাক-বরাদ্দ স্থান দুটি সম্পূর্ণ ভিন্ন জিনিস।
array[5]
করার আশা করি তখন আমি কী খুব বেশি আশা করি new Array(10)
?
.length
তবে এটি প্রায়।) অ্যারেগুলি প্লেইন অবজেক্টের উদাহরণগুলির চেয়ে খুব বেশি আলাদা নয়।