Consider an array data structure that, besides the indexing operation  dịch - Consider an array data structure that, besides the indexing operation  Việt làm thế nào để nói

Consider an array data structure th

Consider an array data structure that, besides the indexing operation [.]. supports the following operations pushBack , popBack , and size .
Why are unbounded arrays important? Because in many situations we do not know in advance how large an array should be Here is a typical example: suppose you want to implement the Unix command sort for sorting the lines of a le. You decideto read the le into an array of lines, sort the array internally , and nally output the sorted array . With unbounded arrays this is easy . With bounded arrays, you would
have to read the le twice: once to nd the number of lines it contains and once to actually load it into the array
We come to the implementation of unbounded arrays., We emulate an unbounded array u with n elements by a dynamically allocated bounded array b with w entries,where w >= n. The first n entries of b are used to store the elements of u. The last w - n entries of b are unused. As long as w > n.ushBack simply increments n and uses the rst unused entry of b for the new element.When w = n, the next pushBack allocates a new bounded array b' that is a constant factor larger (say a factor two).
To reestablish the in variant that u is stored in b, the content of b is copied to the new array so that the old b can be deallocated. Finally , the pointer dening b is redirected to the new array .Deleting the last element with popBack is even easier since there is no danger that b may become too small However, we might waste a lot of space if we allow b to be much larger than needed.The wasted space can be kept small by shrinking b when n becomes too small.Figure 3.6 gives the complete pseudocode
for an unbounded array class. Growing and shrinking is performed using the same utility procedure reallocate. Our implementation uses constants ® and B with B = 2 and A = 4. Whenever the current bounded array ecomes too small, we replace it by an array of B times the old size.
Whenever the size of the current array becomes A
times as large as its used part, we replace it by an array of size B(n.).
The choice of A and B will become clear later .
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Xem xét một cấu trúc dữ liệu mảng đó, bên cạnh các hoạt động đánh chỉ mục [.]. hỗ trợ sau hoạt động pushBack, popBack, và kích thước.
tại sao đang chặn mảng quan trọng? Bởi vì trong nhiều tình huống chúng tôi không biết trước như thế nào lớn một mảng nên ở đây là một ví dụ điển hình: giả sử bạn muốn thực hiện sắp xếp lệnh Unix để phân loại các dòng một le. Bạn decideto đọc c vào một loạt các dòng, sắp xếp các mảng trong nội bộ, và nally ra các mảng được sắp xếp. Với chặn mảng này là dễ dàng. Với mảng bị chặn, bạn sẽ
phải đọc le hai lần: một lần để nd số dòng nó chứa và một lần thực sự nạp nó vào mảng
chúng ta đến để thực hiện chặn mảng., Chúng tôi mô phỏng một u chặn mảng với n phần tử của b mảng bị chặn tự động phân bổ với w mục, nơi w > = n. Fi rst n mục của b được sử dụng để lưu trữ các yếu tố của bạn. W cuối - n mục b là không sử dụng. Càng lâu càng w > n.ushBack chỉ đơn giản là increments n và sử dụng rst các mục nhập không sử dụng của b cho nguyên tố mới.Khi w = n, pushBack tiếp theo phân bổ một mới bị chặn mảng b' có nghĩa là một hằng số yếu tố lớn hơn (nói một yếu tố hai).
để thiết lập lại phiên bản tại u đó được lưu trữ trong b, nội dung của b được sao chép vào các mảng mới do đó b cũ có thể được deallocated. Cuối cùng, con trỏ de ning b chuyển hướng đến các mảng mới.Xóa các yếu tố cuối cùng với popBack là dễ dàng hơn vì không có nguy cơ rằng b có thể trở nên quá nhỏ Tuy nhiên, chúng tôi có thể lãng phí nhiều không gian nếu chúng ta cho phép b là lớn hơn nhiều hơn cần thiết.Không gian lãng phí có thể được giữ nhỏ bằng cách thu hẹp lại b khi n trở nên quá nhỏ.Con số 3,6 cho mã giả hoàn tất
cho một lớp chặn mảng. Phát triển và thu hẹp lại được thực hiện bằng cách sử dụng cùng một tiện ích thủ tục phân bổ. Thực hiện của chúng tôi sử dụng hằng số ® và B với B = 2 và A = 4. Bất cứ khi nào hiện nay ranh giới mảng ecomes quá nhỏ, chúng tôi thay thế nó bằng một loạt các B lần kích thước cũ.
bất cứ khi nào kích thước của các mảng hiện tại sẽ trở thành A
lần lớn như một phần của nó được sử dụng, chúng tôi thay thế nó bằng một loạt các kích thước B(n.).
Sự lựa chọn của A và B sẽ trở nên rõ ràng sau.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Hãy xem xét một cấu trúc dữ liệu mảng, bên cạnh các hoạt động lập chỉ mục [.]. hỗ trợ các hoạt động Pushback sau, popBack, và kích cỡ.
Tại sao mảng không bị chặn lại quan trọng? Bởi vì trong nhiều trường hợp chúng ta không biết trước như thế nào lớn một mảng nên đây là một ví dụ điển hình: giả sử bạn muốn thực hiện lệnh Unix loại để phân loại các dòng của một le?. Bạn decideto đọc? Le vào một mảng các dòng, sắp xếp các mảng nội bộ, và? Ra nally mảng được sắp xếp. Với mảng không bị chặn này là dễ dàng. Với mảng bị chặn, bạn sẽ
phải đọc các le hai lần:? một lần để nd số dòng nó chứa và một lần để thực sự tải nó vào mảng
. Chúng tôi đến để thực hiện các mảng không bị chặn, Chúng tôi mô phỏng một mảng không bị chặn u với n yếu tố của một mảng bị chặn tự động phân bổ b với mục w, trong đó w> = n. RST n mục của b fi? Được sử dụng để lưu trữ các phần tử của u. Cuối cùng w - n mục của b là không sử dụng. Miễn là w> n.ushBack chỉ đơn giản là tăng giá trị n và sử dụng? Mục tiên không sử dụng b cho element.When mới w = n, pushback tiếp theo phân bổ một mảng bị chặn mới b 'đó là một yếu tố không đổi lớn hơn (nói một yếu tố hai).
Để thiết lập lại trong phiên bản mà u được lưu trữ trong b, nội dung của b được sao chép vào mảng mới để các b cũ có thể được deallocated. Cuối cùng, con trỏ de? Ning b được chuyển hướng đến các mảng mới. Xóa các phần tử cuối cùng với popBack thậm chí còn dễ dàng hơn vì không có mối nguy hiểm mà b có thể trở nên quá nhỏ Tuy nhiên, chúng ta có thể lãng phí rất nhiều không gian nếu chúng ta cho phép b là lớn hơn nhiều so needed.The lãng phí không gian có thể được giữ nhỏ bằng cách thu hẹp b khi n trở nên quá small.Figure 3.6 cung cấp cho các giả hoàn chỉnh
cho một lớp mảng không bị chặn. Phát triển và thu hẹp được thực hiện bằng cách sử dụng cùng một thủ tục phân bổ lại tiện ích. Thực hiện của chúng tôi sử dụng hằng ® và B với B = 2 và A = 4. Bất cứ khi nào các mảng chặn hiện ecomes quá nhỏ, chúng tôi thay thế nó bằng một loạt các lần B kích thước cũ.
Bất cứ khi nào kích thước của mảng hiện tại sẽ trở thành Một
lần lớn như là một phần được sử dụng của nó, chúng tôi thay thế nó bằng một loạt các kích thước B (n.).
Sự lựa chọn của A và B sẽ trở nên rõ ràng sau.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: