• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Smart Bubble Sort:A Novel and Dynamic Variant of Bubble Sort Algorithm

    2022-08-23 02:17:38MohammadKhalidImamRahmani
    Computers Materials&Continua 2022年6期

    Mohammad Khalid Imam Rahmani

    College of Computing and Informatics,Saudi Electronic University,Riyadh,Saudi Arabia

    Abstract: In the present era, a very huge volume of data is being stored in online and offline databases.Enterprise houses, research, medical as well as healthcare organizations, and academic institutions store data in databases and their subsequent retrievals are performed for further processing.Finding the required data from a given database within the minimum possible time is one of the key factors in achieving the best possible performance of any computer-based application.If the data is already sorted,finding or searching is comparatively faster.In real-life scenarios,the data collected from different sources may not be in sorted order.Sorting algorithms are required to arrange the data in some order in the least possible time.In this paper, I propose an intelligent approach towards designing a smart variant of the bubble sort algorithm.I call it Smart Bubble sort that exhibits dynamic footprint: The capability of adapting itself from the average-case to the best-case scenario.It is an in-place sorting algorithm and its best-case time complexity is Ω(n).It is linear and better than bubble sort,selection sort,and merge sort.In averagecase and worst-case analyses,the complexity estimates are based on its static footprint analyses.Its complexity in worst-case is O(n2)and in average-case is Θ(n2).Smart Bubble sort is capable of adapting itself to the best-case scenario from the average-case scenario at any subsequent stages due to its dynamic and intelligent nature.The Smart Bubble sort outperforms bubble sort,selection sort,and merge sort in the best-case scenario whereas it outperforms bubble sort in the average-case scenario.

    Keywords: Sorting algorithms; smart bubble sort; footprint; dynamic footprint;time complexity;asymptotic analysis

    1 Introduction

    The digital world is producing a huge amount of data from almost every field of life and databases are storing those data in computer-based information systems.As said by Knuth in his book [1],“virtually every important aspect of programming arises somewhere in the context of sorting or searching”, many improvements have been conducted in sorting and searching algorithms since the advent of programming[2,3].Sorting various records in different application domains consumes 25%to 50% of the computational resources worldwide as mentioned in [2,4].It is argued that a single sorting algorithm cannot perform well in every situation that is why for a given scenario,an appropriate sorting algorithm must be applied[5].For example,bubble sort,insertion sort,and selection sort are best suited to small input data whereas quick sort and merge sort perform better when applied to a large volume of data [2,5–9].Researchers have been working to design more efficient algorithms for decades.Currently, new sorting and searching algorithms, as well as efficient modifications,have been proposed by the computer science community.In this connection, Mohammed et al.[10]developed a Bidirectional Conditional Insertion Sort algorithm, which demonstrated O(n1.5) time complexity in average case scenarios for normal and uniform distributed data.Appiah et al.[11]have designed a new algorithm:Magnetic Bubble sort with enhancements of bubble sort in the case where redundancies occur in the list.Alotaibi et al.[12] have proposed a new in-place sorting algorithm,which performs better than bubble sort and selection sort but similar to Insertion sort.Ranaa et al.[13]have developed a new approach called MinFinder to overcome some of the weaknesses of some conventional algorithms in terms of stability,computational time,and complexity analysis.Cheema et al.[14] have employed a hybrid approach that takes a minimum number of comparisons with less time and space complexity to sort example data with merge sort and bi-directional bubble sort approaches.Faujdar et al.[15] have evaluated the existing sorting algorithms using repeated data considering the average-case, worst-case, and best-case scenarios.Sodhi et al.[16] have designed Enhanced Insertion sort that achieved O(n) worst-case time complexity and O(n1.585) average time complexity showing better performance compared to insertion sort.

    In this article,a novel and dynamic variant of bubble sort is being proposed,which I call Smart Bubble sort.In the best-case scenario,our proposed algorithm will iterate only once and will terminate when it detects that the data is already in the sorted order.It has the capability of transforming itself from an average-case scenario to the best-case scenario when it detects that the remaining elements are now sorted after bubbling up some of the elements to their sorted positions during the sorting procedure.I have devised the term dynamic footprint to refer to this concept.The remaining of the paper is structured as follows.In Section 2,preliminary concepts have been discussed.In Section 3,the proposed algorithm is introduced and elaborated along with an example illustration of the working procedure followed by a detailed asymptotic analysis.In Section 4,a description of the new dataset is provided,the experimental setup is explained,and empirical results have been highlighted.In Section 5,conclusions are drawn at the end of the article.

    2 Preliminaries

    Searching and sorting of database entries are the two direct applications of sorting algorithms.Broader applications of sorting techniques are for the solution of many complex problems in the fields of information retrieval [5,17–19], image retrieval [20–25], image processing [26,27], database systems, networking [28], management information systems, decision support systems, operations research and optimization problems [29–31].Similarly, sorting algorithms play an important role in educational subjects like design&analysis of algorithms and data structures&programming where the problems require the use of syntax/semantics of every important programming construct related to any programming language.Bubble sort,selection sort,and exchange sort are best suited to data samples of small to medium sizes.These algorithms are comparison-based sorting algorithms;therefore,their lower bound performance is proven to be O(nlogn).A small number of algorithms exist,which claim to have linear bound,however,they are designed for some special cases of input data.Sorting algorithms with O(n)time complexity are considered best performing algorithms.On the other hand,algorithms with O(n2)time complexity are thought to be bad performers whereas algorithms with O(nlogn)time complexity are identified as good algorithms.

    2.1 Performance Measurement and Analysis of Sorting Algorithms

    The performance of an algorithm is estimated in terms of computational complexity that is measured as its time complexity and space complexity.The time complexity of an algorithm is more important because the availability of sufficiently large memory space in the current era of technology is not a big deal.The efficiency of an algorithm is always expressed as a function of its input size as T(n)or S(n);where n is the input size,T(n)and S(n)are time and space complexities,respectively.

    The relative efficacy of sorting algorithms can be characterized by the order of growth of their running times.While calculating the exact running times of a very large volume of input data, the input itself dominates the coefficients and other lower-order terms.For measuring the efficiency of algorithms and comparing the performance of two or more sorting algorithms,the order of growth of their running times is significantly used.However,this technique is not useful when the order of growth of two or more algorithms is the same.On such occasions,the determination of the exact running time of the algorithms is essential which I have done in this article.Asymptotic efficiency of an algorithm refers to the estimation of the order of growth of the running time for very large inputs[7].That is,I am concerned with how the running time of an algorithm increases with the size of the input in the limit, as the size of the input increases without bound.Usually, an algorithm that is asymptotically more efficient will be the best choice for all but very small inputs.To compare different algorithms for the problem of sorting,I break the analysis of algorithms into three different cases so that I can formulate a way that can provide a better estimate of the resources required.In the first case known as the best-case,the minimum number of computational steps are taken by the algorithm because the input data is sorted in the same order which would be the expected outcome of the algorithm.In the second case known as the average case,the average number of computational steps are taken for the algorithm.This is the most complex kind of analysis that is often based on the probability theory because the input data is randomly collected without any explicit ordering.In the third case known as the worst-case,the maximum number of computational steps are taken by the algorithm.This case is analyzed most often because the maximum time complexity of the algorithm matters the most where the input data is sorted in reverse order.

    2.2 Internal Sorting Algorithms

    Internal sorting algorithms maintain the entire sequence of data into the main memory of the computer.These algorithms are based on a comparison of items and are further grouped into simple or complex categories.The simple ones are mainly iterative,simple to understand,and easy to implement but their time complexity is more i.e., O(n2).Bubble sort, Selection sort, and Insertion sort are in this category.The complex ones are mainly divide-and-conquer based and difficult to implement but their time complexity is less i.e.,O(nlogn).Quicksort,Merge sort,and Heapsort algorithms are in this category.

    3 The Proposed Algorithm

    In this section, I have first identified the problem of the bubble sort algorithm with its detailed asymptotic analysis.Next,I described our idea about the Smart Bubble sort algorithm and provided its detailed asymptotic analysis with a proper derivation of best case, worst case, and average case notations.A sorting algorithm consists of instructions arranged in a sequence that puts the input data elements in an ordered sequence.Designing an efficient sorting algorithm is necessary for the optimal performance of different computer applications that require sorted data elements to smoothly perform their operations.Sorting algorithms are usually selected based on their computational requirements and ease of implementation.The efficiency of a comparison-based sorting algorithm can be enhanced by reducing either the number of comparison operations or swapping operations or both.

    3.1 Problem with Bubble Sort

    I start with the formal description of the Bubble sort algorithm in terms of its steps as below:

    BUBBLE-SORT(A,n)

    A is an array of size n;each element of the array will be sorted after the algorithm gets terminated.

    Step 1.for i=1 to n-1 do

    Step 2.for j=1 to n–i-1 do

    Step 3.if A[j]>A[j+1]then

    Step 4.val=A[j]

    Step 5.A[j]=A[j+1]

    Step 6.A[j+1]=val

    It is well known that bubble sort is considered the slowest sorting algorithm because it performs the maximum number of comparisons without looking at the instance of input data.It fails to exploit the instance of input data in the best case and the average case.I have highlighted these phenomena in Figs.1 and 2 through simple and effective illustrations where the steps of bubble sort are shown on the left side and that of Smart Bubble sort are shown on the right side of the figures.

    Figure 1:Illustration of the footprint of smart-bubble-sort in case of sorted data

    In Fig.1, I can see that the data is already sorted.However, bubble sort will go through all the required passes and steps even if the data is already sorted.On the other hand, Smart Bubble sort will perform only one iteration(Please see Iteration 1 of Pass 1 in Fig.1)and will not continue once it detects that the data is already sorted.Similarly,the data instance in Fig.2 is nearly sorted.Again,bubble sort will go through all the passes and steps to complete its operation blindly.After bubbling up the element 20 to the highest position of the array,the remaining elements,1,4,6,8,and 14 are now in their proper positions of the sorted array at the end of Iteration 2 of Pass 2.Bubble sort is not able to exploit this advantage.It will complete all the remaining iterations and steps blindly doing no further swap operation.However, Smart Bubble sort will exploit this situation to its advantage through its dynamic footprint detection capability and will terminate without performing the remaining iterations and passes.

    Figure 2:Illustration of the dynamic footprint of smart-bubble-sort in case of nearly sorted data

    3.2 Analysis of Bubble Sort

    Analysis of the algorithms is shown as the general expression of the cost function in terms of the input data size in the form of asymptotic notationsΩ(best case),Θ(average case), and O(worst case).The computational complexity for individual steps is provided in Tab.1 that corresponds to the algorithm provided in BUBBLE-SORT(A,n).

    Table 1: Analysis of bubble sort algorithm

    3.2.1 Best Case Analysis

    The best case of input instance for the sorting algorithms occurs when the elements are sorted in the same order that the algorithm will produce.Therefore,T(n)for the best case can be derived as below:

    Since Eq.(1)is a quadratic equation,the time complexity of Bubble sort in best-case is O(n2).

    3.2.2 Worst Case Analysis

    The worst case of input instance for the sorting algorithms occurs when the elements are sorted in the opposite order that the algorithm will produce.Therefore,T(n)for the worst case can be derived as below:

    3.2.3 Average Case Analysis

    The average case of input instance for the sorting algorithms occurs when the elements are arranged in random order.This is the most expected case.Therefore, T(n) for the average case can be derived as below:

    Since Eq.(3)is a quadratic equation,the algorithm’s time complexity in the average case is O(n2).

    3.3 The Concept of Smart Bubble Sort

    In this section,I have materialized the idea of our proposed Smart Bubble sort algorithm.I begin with the description of the algorithm followed by its asymptotic analysis.

    The bubble sort algorithm usesn-1 passes for sortingnnumbers.In each pass, the number of iterations to compare the key values are(n-pass number).For controlling the passes of the algorithm,the outerforloop is used.The innerforloop is used for making the actual comparisons for swapping the adjacent key values whenever they are found out of order as shown in BUBBLE-SORT(A, n).Bubble sort is considered the slowest algorithm in average-case and best-case scenarios.But its bestcase, as well as average-case running times, can be improved by doing some smart enhancements in the classical bubble sort algorithm.The bubble sort does unnecessary work even if the input data is already sorted as demonstrated in Figs.1 and 2.It keeps on comparing the items blindly even if the remaining items are already sorted thereby losing the opportunity of exploiting the scenario for terminating it quickly whereas there is no need of running the remaining passes.The Smart Bubble sort algorithm exploits the scenarios and terminates quickly giving much rise in its performance against not only bubble sort but other sorting algorithms as well.In case,the algorithm completes a pass for the remaining elements of the array without detecting any swapping of adjacent elements,it is concluded that the array is sorted and so the algorithm should stop immediately.Similarly,the Smart Bubble sort can transform the average-case into best-case whenever it detects that no swap has been performed at any stage of the algorithm execution as shown in Figs.1 and 2.

    To implement the Smart Bubble sort procedure,I have used a boolean variableflagto detect the swapping of elements.The variable will be set totrueat the beginning of every pass and if a swap is detected in that pass,it would be reset tofalse.If at the end of a pass,the variable is foundtrue,then it would be concluded that no swapping of elements has occurred and hence the algorithm is terminated immediately.

    A formal description of the Smart Bubble sort algorithm is given as follows where the order of sorting is considered as ascending order.

    Step 1.Forn-1number of passes,carry out each pass.

    Step 2.Bubble up the largest element to the top position.

    Step 3.If during the bubbling up no swap is encountered,Exit.

    Step 4.Else,carry out the next pass.

    The formal algorithm for Smart Bubble sort is provided in SMART-BUBBLE-SORT(A,n).

    SMART-BUBBLE-SORT(A,n)

    Ais an array of sizen;elements of the array will be sorted in increasing order after the algorithm gets terminated.

    Step 1.fori=1 ton–1 do

    Step 2.flag=true

    Step 3.forj=1 ton–i–1 do

    Step 4.ifA[j]>A[j+1]then

    Step 5.flag=false

    Step 6.val=A[j]

    Step 7.A[j]=A[j+1]

    Step 8.A[j+1]=val

    Step 9.ifflagthen

    Step 10.break

    The time complexity of Smart Bubble sort isΩ(n) in the best case, O(n2) in the worst case, andΘ(n2)in the average case.It is worth noting that the Smart Bubble sort is capable of converting itself from an average-case scenario to the best-case scenario as discussed earlier.This is because the Smart Bubble sort detects the dynamic footprint in its data instance during the execution of the algorithm well before the end of the execution.

    3.4 Analysis of Smart Bubble Sort

    Analysis of the algorithms is shown as the general expression of the cost function in terms of the input data size in the form of asymptotic notationsΩ(best case),Θ(average case), and O(worst case).The computational complexity for individual steps is provided in Tab.2 that corresponds to the algorithm provided in SMART-BUBBLE-SORT(A,n).

    Table 2: Analysis of smart bubble sort algorithm

    3.4.1 Best Case Analysis

    The best-case scenario for the algorithm arises when the input array is sorted in the same order in which the output is desired.The algorithm checks this scenario by using a boolean variableflag,which is initialized totrueat the beginning of the external for loop(for Passes).Inside the internal for loop(for comparison and swapping)at step 3 when any two adjacent elements are found out-of-order by the if-then structure(i.e.,ifA[j]>A[j+1])of step 4 then these elements are swapped and theflagvariable assumes afalsevalue.In case, the value of the variableflagis foundtrueby the if-then structure of step 9,it is concluded that the remaining elements of the array are already sorted.Therefore,the Smart Bubble sort algorithm should stop immediately.This is ensured through the break statement of step 10.As a result, the algorithm does the minimum possible work due to the ability to detect dynamic footprint smartly.

    Since the if-then structure of step 4 will never be satisfied in this case,steps 5 through 8 will not be contributing anything to the overall time complexity of the algorithm.Therefore,the total time taken by the algorithm is computed by taking the sum of the products of the corresponding time(cost)and repetition for the contributing steps only.Mathematically,the expression for the time complexity can be derived as follows:

    where,A=C3+C4,B=C1+C2+C3+C9+C10

    Since Eq.(4) is a linear equation, therefore, the coefficient of the highest order term and the constant term are neglected to get the asymptotic notation of the algorithm,which isΩ(n).Therefore,the time complexity of Smart Bubble sort in the best-case isΩ(n).

    3.4.2 Worst Case Analysis

    The worst case of an input instance for sorting algorithms occurs when the input array is sorted in descending order and the output is desired in ascending order or vice-versa.The algorithm will have to do the maximum work in this case.The for loop of step 1 is testedntimes withn-1 time for executing its body and one more time when the loop condition becomes false.Steps 2 and 9 will be executedn-1 time.Since each pair of adjacent elements will be out-of-order,the number of swapping will be equal to the number of comparisons.So,the if-then structure of step 9 will never be satisfied and as a result,the break statement of step 10 will never be executed.Steps 3 through 8 will be executed for the maximum possible number of times,which arefor the step 3 andfor the rest of the steps.Mathematically,the expression for the time complexity can be derived as follows:

    Since Eq.(5) is a quadratic equation, therefore, the coefficient of the highest order term and the lower order terms are neglected to get the asymptotic notation of the algorithm,which is O(n2).Therefore,the time complexity of Smart Bubble sort in the worst case is O(n2).

    3.4.3 Average Case Analysis

    The average case of input instance for the sorting algorithms occurs when the elements are arranged in random order.This is the most expected case.The algorithm might have to do as much work as in the worst case[7].However,I have safely assumed that only half of the adjacent elements are out-of-order.Therefore, the number of swapping will become almost half of the number of comparisons.Similar to the worst-case analysis, the for loop in step 1 is testedntimes and steps 2 and 9 will be executedn–1 time.Step 3 will be executed fortimes and steps 4 through 8 will be executed fortimes.Unlike the worst-case scenario, the if-then structure of step 9 may be satisfied at any successive pass after the first pass.When this happens,the footprint of the algorithm changes to the best-case scenario,and the break statement of step 10 is executed and as a result,the algorithm successfully terminates.This is the situation,which I call thedynamic footprintof the Smart Bubble sort.Thedynamic footprintis defined as the ability to convert the footprint from one case of input instance to another case of input instance.Therefore,the total time taken by the algorithm is computed by taking the sum of the products of the corresponding time(cost)and repetition for the contributing steps only.Mathematically,the expression for the time complexity can be derived as given below:

    Since Eq.(6) is a quadratic equation, therefore, the coefficient of the highest order term and the lower order terms are neglected to get the asymptotic notation of the algorithm,which isΘ(n2).Therefore,the time complexity of Smart Bubble sort in the average case isΘ(n2).

    4 Results and Discussion

    In this section, I have constructed a new dataset containing random, sorted, and reverse sorted data as input data to the algorithms.Then I have provided details about the experimental setup.Lastly,I have discussed the results.

    4.1 Dataset

    Using a perfect dataset is one of the important considerations for establishing an experimental setup for measuring the performance analysis of computer algorithms.In this paper, I have used datasets of randomly created positive integer values generated by a dedicated Java program, which are stored intextformat.The datasets are of 3 categories of sizes 500, 2500, 5000, 50000, 100000,625000,1250000,and 2500000.

    a.Random sets:Sets of the specified sizes were created in random order to analyze the average case scenario.

    b.Sorted sets:The Random sets were first sorted and then used for the analysis of the best-case scenario.

    c.Reverse Sorted sets:The Sorted sets were reversed and then used for the analysis of the worstcase scenario.

    I have designed a Java program that used the Random class along with its nextInt() method.This class was instantiated for calling the nextInt() method.The value of the argumentrangein the nextInt()method was given as 2147483647 to maintain as much uniqueness of elements in the data set as possible.

    Besides, I have created another similar dataset with approximately 50% sorted data items to provide evidence ofdynamic footprintdetection capability for which the results are provided in Section 4.2.4.

    4.2 Experimental Setup

    The proposed algorithm’s steps are written in a formal way suitable to be implemented in any programming language but its Java implementation is the most efficient one in terms of CPU time(measured in nanoseconds)and memory requirement[32,33].I have used IntelliJ IDEA version 11.0.9 with JDK 1.8.0_231 for implementing the algorithms and testing & validating the results.In our implementation, the variable,flagof type boolean is used to check if any swapping is made inside the inner for loop or not.A boolean variable may assume only two values;trueorfalse.So, its implementation requires just 1 bit of memory[34]whereas C/C++implementation[35]will use either short or int,which requires 2 to 4 bytes of memory.

    The experiments are performed on a 3.6 GHz Intel Core i9(9thgeneration)processor with 64 GB RAM,and Windows 10(64-bit OS)platform.

    4.2.1 Performance Analysis of Smart Bubble Sort on Sorted Data

    The experimental results for best-case analysis on sorted data are presented in Supplementary Tab.1 where the names of the sorting algorithms are given along the top row and the data sizes are arranged along the first column.The best-performing values are highlighted in blue.As evident from the obtained results,Smart Bubble sort is outperforming all the listed algorithms by a huge margin in terms of the number of comparisons,swapping,and CPU clock time.It can be noted down that from this point onward swapping will refer to merging operation in case of merge sort analysis.The growth of the Smart Bubble sort algorithm is linear to the size of the input data in the best-case scenario.Therefore,CPU clock time is the least.This is the edge of the Smart Bubble sort over bubble sort and the rest of the algorithms under consideration.This is because the number of swapping in Bubble sort is zero but the number of comparisons is higher than the Smart Bubble sort.In the case of merge sort and selection sort,both the number of comparisons and swapping are higher than those of the Smart Bubble sort.For a comprehensive understanding of better performing results and achievements of the Smart Bubble sort, I illustrated the number of comparisons, swapping, and CPU clock time for all data sizes including 500,2500,5000,50000,100000,625000,1250000,and 2500000 in Fig.3.

    Figure 3:Results for applying sorting algorithms on the sorted dataset:(a)data size 500,(b)data size 2500,(c)data size 5000,(d)data size 50000,(e)data size 1000000,(f)data size 625000,(g)data size 150000 and(h)2500000

    4.2.2 Performance Analysis of Smart Bubble Sort on Reverse Sorted Data

    The experimental results for worst-case analysis on reverse sorted data are presented in Supplementary Tab.2 where the names of the sorting algorithms are given along the top row and the data sizes are arranged along the first column.The best-performing values are highlighted in blue.It is evident from the results that in the worst-case scenario,the performance of Smart Bubble sort is much better than bubble sort and selection sort in terms of CPU clock time however, it is much slower than the merge sort algorithm.For data size 500,the CPU clock time is higher for Smart Bubble sort because the number of steps of SMART-BUBBLE-SORT(A, n) is more than those of BUBBLE-SORT(A,n).Therefore,the cost of the coefficient is higher for Smart Bubble sort as evident from Eqs.(2)and(5).However,for the data sizes greater than 500,this overhead is overtaken by the performance of the algorithm as evident from Supplementary Tab.2.The best values of CPU clock time for Smart Bubble sort are given in blue whereas the value where the CPU clock time is more for Smart Bubble sort while processing data size 500 is given in red.For a comprehensive understanding of the achieved results,I highlighted the number of comparisons,swapping,and CPU clock time for all sizes of reverse sorted data including 500,2500,5000,50000,100000,625000,1250000,and 2500000 in Fig.4.

    Figure 4: Continued

    Figure 4:Results for applying sorting algorithms on the reverse sorted dataset:(a)data size 500,(b)data size 2500,(c)data size 5000,(d)data size 50000,(e)data size 1000000,(f)data size 625000,(g)data size 150000 and(h)2500000

    4.2.3 Performance Analysis of Smart Bubble Sort on Random Data

    The experimental results for average-case analysis on random data are demonstrated in Supplementary Tab.3 where the names of the sorting algorithms are mentioned along the top row whereas the data sizes are presented along the first column.The best-performing values are highlighted in blue.The results show the superior performance of Smart Bubble sort in terms of the number of comparisons and CPU clock time over bubble sort.It can be observed from Supplementary Tab.3 that the Smart Bubble sort is performing a lesser number of comparisons than the Bubble sort as well as Selection sort for all data sizes.However,CPU clock time is lesser for data sizes 50000 and above as compared to the Bubble sort algorithm.In the case of Selection sort and Merge sort,both the number of comparisons and swapping(merging in case of merge sort)are less than those of the Smart Bubble sort.For data size 500,2500,and 5000,the CPU clock time is higher for Smart Bubble sort despite a lesser number of comparisons.This is because the number of steps of SMART-BUBBLE-SORT(A,n) is more than those of BUBBLE-SORT(A, n).Therefore, the cost of the coefficient is higher for Smart Bubble sort as evident from Eqs.(3) and (6).However, for the data sizes greater than 50000,this overhead is overtaken by the performance of the algorithm as evident from Supplementary Tab.3.The best values of comparisons and CPU clock time for Smart Bubble sort are given in blue whereas the values where the CPU clock time is more for Smart Bubble sort while processing data size of 500,2500,and 5000 are given in red.I highlighted the number of comparisons,swapping,and CPU clock time for all sizes of random data including 500, 2500, 5000, 50000, 100000, 625000, 1250000, and 2500000 in Fig.5.

    Figure 5: Results for applying sorting algorithms on the random dataset: (a) data size 500, (b) data size 2500,(c)data size 5000,(d)data size 50000,(e)data size 1000000,(f)data size 625000,(g)data size 150000 and(h)2500000

    4.2.4 Performance Analysis of Smart Bubble Sort for Validation of Dynamic Footprint

    The experimental results for dynamic footprint analysis on partially sorted data are presented in Supplementary Tab.4 where names of the sorting algorithms are mentioned along the top row and the data sizes are given along the first column.The best-performing values are highlighted in blue.The number of swapping performed by Smart Bubble sort have now become half of the total number of comparisons for a given data as claimed in the columnAverage Caseof Tab.2 and supported by the results in Supplementary Tab.4.It is because the input data is now partially sorted to establish a basis for detecting the dynamic footprint by Smart Bubble sort for transforming itself from the average case scenario to the best-case scenario.The number of comparisons performed by Smart Bubble sort is less than those of bubble sort and selection sort algorithms.I can observe that the number of swapping performed by Smart Bubble sort is equal to those of bubble sort.As I discussed previously the Smart Bubble sort can detect the dynamic footprint of the data instance and as a result, it can transform itself from an average case to the best-case scenario.The number of comparisons is less than Bubble sort is because Smart Bubble sort detected that the remaining data items are already sorted so it terminated earlier whereas bubble sort kept on comparing the already sorted elements blindly,which caused more number of comparisons.On the other hand, for data size 500, the CPU clock time is higher for Smart Bubble sort despite a lesser number of comparisons.This is because the number of steps of SMART-BUBBLE-SORT(A,n)is more than those of BUBBLE-SORT(A,n).Therefore,the cost of the coefficient is higher for the Smart Bubble sort.However,for the data sizes greater than 500,this overhead is overtaken by the performance of the algorithm as evident from Supplementary Tab.4.The best values of comparisons for Smart Bubble sort are given in blue whereas the value where the CPU clock time is more for Smart Bubble sort while processing data size 500 is given in red.It is now evident that the lesser number of comparisons by Smart Bubble sort is due to its dynamic footprint detection capability(Please,refer to Fig.6).

    Figure 6: Continued

    Figure 6:Results for applying sorting algorithms on the random dataset with 50%sorted data:(a)data size 500,(b)data size 2500,(c)data size 5000,(d)data size 50000,(e)data size 1000000,(f)data size 625000,(g)data size 150000 and(h)2500000

    5 Conclusion

    In this article, I have designed and verified a novel and dynamic variant of the bubble sort algorithm with performance improvements in the best case and average case scenarios while keeping the worst-case performance well within the upper bound.The proposed Smart Bubble sort algorithm demonstrated better performance compared to bubble sort,selection sort,and merge sort in the best case scenario with a time complexity ofΩ(n).

    To achieve the improvements for the average-case scenario,the concept of dynamic footprint has been elaborated and empirically verified.It is observed that the performance of an algorithm can be enhanced by identifying useful patterns present in the data and consequently exploiting the scenarios for improving the performance and efficiency of the algorithm.Smart Bubble sort can detect the useful patterns in average case data favoring its transformation to the best-case scenario and finally,it can adapt from average case to the best-case scenario.This enables it to terminate early in the sorting process while giving about a 25%performance raise over bubble sort.

    Data Availability Statement:The constructed datasets are available at https://drive.google.com/file/d/112pWWW_cDWgM7O3oa80Tn6O1ASR38mEh/view?usp=sharing.

    Funding Statement:The author received no specific funding for this study.

    Conflicts of Interest:The author declares that he has no conflicts of interest to report regarding the present study.

    欧美日韩成人在线一区二区| 男男h啪啪无遮挡| 香蕉丝袜av| 男人舔女人的私密视频| 中国国产av一级| 肉色欧美久久久久久久蜜桃| 亚洲伊人色综图| 亚洲欧美一区二区三区久久| 国产xxxxx性猛交| 三上悠亚av全集在线观看| 99久久国产精品久久久| 纵有疾风起免费观看全集完整版| 欧美国产精品va在线观看不卡| 高清av免费在线| 超色免费av| 91精品三级在线观看| 久久久久国产精品人妻一区二区| 大码成人一级视频| 国产欧美亚洲国产| 91字幕亚洲| 色综合欧美亚洲国产小说| 天天添夜夜摸| 男女午夜视频在线观看| 亚洲情色 制服丝袜| 国产免费福利视频在线观看| 国产精品香港三级国产av潘金莲| 老熟妇乱子伦视频在线观看 | 亚洲一区二区三区欧美精品| a级片在线免费高清观看视频| 在线观看www视频免费| 午夜91福利影院| 欧美中文综合在线视频| 国产精品久久久久久人妻精品电影 | 美女中出高潮动态图| 亚洲专区字幕在线| 国产高清videossex| 国产黄频视频在线观看| 视频区欧美日本亚洲| 无遮挡黄片免费观看| a级毛片黄视频| 免费在线观看日本一区| 欧美日韩亚洲国产一区二区在线观看 | 性色av一级| 久久精品亚洲熟妇少妇任你| 女人爽到高潮嗷嗷叫在线视频| 精品一区在线观看国产| 国产黄频视频在线观看| 大陆偷拍与自拍| 日韩欧美一区二区三区在线观看 | 午夜精品国产一区二区电影| 午夜日韩欧美国产| 午夜激情久久久久久久| 老鸭窝网址在线观看| 亚洲成人国产一区在线观看| 亚洲少妇的诱惑av| 国产老妇伦熟女老妇高清| 国产精品一区二区在线不卡| 人妻久久中文字幕网| 久久精品aⅴ一区二区三区四区| 天天躁日日躁夜夜躁夜夜| 高清在线国产一区| 久久久久久亚洲精品国产蜜桃av| 青草久久国产| 俄罗斯特黄特色一大片| 深夜精品福利| 精品国产一区二区三区四区第35| 曰老女人黄片| 精品国产国语对白av| 亚洲精品乱久久久久久| 1024视频免费在线观看| 午夜福利免费观看在线| 热99久久久久精品小说推荐| 涩涩av久久男人的天堂| 欧美成人午夜精品| 又黄又粗又硬又大视频| 国产高清国产精品国产三级| 国产一区二区在线观看av| 免费高清在线观看视频在线观看| 国产免费现黄频在线看| 午夜福利乱码中文字幕| 91成人精品电影| 飞空精品影院首页| 人妻久久中文字幕网| 日本一区二区免费在线视频| 99国产综合亚洲精品| 超碰97精品在线观看| 男女国产视频网站| 国产精品偷伦视频观看了| 成人亚洲精品一区在线观看| kizo精华| 男女午夜视频在线观看| 国产精品一区二区精品视频观看| 91精品伊人久久大香线蕉| 国产精品一区二区在线不卡| av网站在线播放免费| 久9热在线精品视频| 久久天躁狠狠躁夜夜2o2o| 国产伦人伦偷精品视频| 精品久久久久久久毛片微露脸 | 国产一区二区激情短视频 | 国产精品 欧美亚洲| 色综合欧美亚洲国产小说| 老司机午夜福利在线观看视频 | 久久亚洲国产成人精品v| 十八禁高潮呻吟视频| 999精品在线视频| 亚洲成人免费电影在线观看| 一级黄色大片毛片| 久热爱精品视频在线9| 高清欧美精品videossex| 亚洲av片天天在线观看| 99国产精品99久久久久| 国精品久久久久久国模美| 黄色怎么调成土黄色| 欧美久久黑人一区二区| 黑人猛操日本美女一级片| 亚洲第一欧美日韩一区二区三区 | 久久久久精品人妻al黑| 美女午夜性视频免费| 久久久精品免费免费高清| 国产又爽黄色视频| 国产精品久久久av美女十八| 天天躁狠狠躁夜夜躁狠狠躁| 成人av一区二区三区在线看 | 久久99一区二区三区| 亚洲性夜色夜夜综合| 90打野战视频偷拍视频| 美女脱内裤让男人舔精品视频| 18在线观看网站| 亚洲国产av新网站| 操美女的视频在线观看| 日本av免费视频播放| 久久性视频一级片| 69精品国产乱码久久久| 日韩有码中文字幕| 一区二区av电影网| 欧美黄色淫秽网站| 日韩中文字幕视频在线看片| 美女扒开内裤让男人捅视频| 国产高清videossex| 丰满迷人的少妇在线观看| 欧美久久黑人一区二区| 啦啦啦中文免费视频观看日本| 黄片播放在线免费| 亚洲精品国产一区二区精华液| 亚洲国产中文字幕在线视频| 亚洲成国产人片在线观看| 国产精品国产av在线观看| 青春草视频在线免费观看| h视频一区二区三区| 精品一品国产午夜福利视频| 国产av一区二区精品久久| 人妻 亚洲 视频| 精品国产一区二区三区四区第35| 欧美激情 高清一区二区三区| 热99久久久久精品小说推荐| 久久亚洲国产成人精品v| 99国产精品免费福利视频| 日韩三级视频一区二区三区| 国产一区二区三区在线臀色熟女 | 亚洲午夜精品一区,二区,三区| 色播在线永久视频| 男男h啪啪无遮挡| 亚洲av片天天在线观看| 国产免费一区二区三区四区乱码| 窝窝影院91人妻| 精品国产国语对白av| 夜夜骑夜夜射夜夜干| 美女国产高潮福利片在线看| 建设人人有责人人尽责人人享有的| 国产精品一二三区在线看| 97精品久久久久久久久久精品| 欧美国产精品va在线观看不卡| 又紧又爽又黄一区二区| 蜜桃国产av成人99| 日韩欧美国产一区二区入口| av在线app专区| 在线观看人妻少妇| 国产一区有黄有色的免费视频| 精品国产一区二区三区四区第35| 日本91视频免费播放| 巨乳人妻的诱惑在线观看| 亚洲欧美色中文字幕在线| avwww免费| 亚洲视频免费观看视频| 国产精品久久久人人做人人爽| 久久久欧美国产精品| 18禁国产床啪视频网站| 欧美日本中文国产一区发布| 精品免费久久久久久久清纯 | 精品国内亚洲2022精品成人 | 亚洲精品在线美女| 中文字幕制服av| 在线观看一区二区三区激情| 成年动漫av网址| 国产91精品成人一区二区三区 | 高清视频免费观看一区二区| 在线天堂中文资源库| 免费观看人在逋| 大香蕉久久成人网| 99久久精品国产亚洲精品| 国产亚洲欧美精品永久| 亚洲国产精品一区三区| 亚洲中文日韩欧美视频| av免费在线观看网站| 老熟妇仑乱视频hdxx| 久久久国产欧美日韩av| 久久精品国产亚洲av香蕉五月 | 国产激情久久老熟女| 欧美少妇被猛烈插入视频| 精品少妇久久久久久888优播| 久久影院123| 各种免费的搞黄视频| 国产精品欧美亚洲77777| 黄片大片在线免费观看| 国产亚洲av片在线观看秒播厂| 国产日韩欧美亚洲二区| 精品一品国产午夜福利视频| 最近最新中文字幕大全免费视频| e午夜精品久久久久久久| 性少妇av在线| 精品久久蜜臀av无| 黑人猛操日本美女一级片| 国产一区二区 视频在线| 一本久久精品| 手机成人av网站| 少妇粗大呻吟视频| 欧美在线黄色| 日韩 欧美 亚洲 中文字幕| 亚洲av美国av| 在线天堂中文资源库| 国产精品自产拍在线观看55亚洲 | 黄色a级毛片大全视频| 精品国产乱子伦一区二区三区 | 亚洲国产日韩一区二区| 肉色欧美久久久久久久蜜桃| 99国产精品一区二区三区| 中文字幕av电影在线播放| 9191精品国产免费久久| 手机成人av网站| 亚洲专区中文字幕在线| 久久久精品免费免费高清| 亚洲精品国产精品久久久不卡| 亚洲国产精品一区二区三区在线| 一区在线观看完整版| 久久久久久亚洲精品国产蜜桃av| 高清在线国产一区| 亚洲精品国产av成人精品| 丝袜在线中文字幕| 久久亚洲精品不卡| 欧美日韩亚洲综合一区二区三区_| 国产av又大| 免费av中文字幕在线| 无限看片的www在线观看| 亚洲国产成人一精品久久久| 国产精品久久久人人做人人爽| 中文字幕另类日韩欧美亚洲嫩草| 日本av免费视频播放| 欧美中文综合在线视频| 精品卡一卡二卡四卡免费| 丰满饥渴人妻一区二区三| 天天躁狠狠躁夜夜躁狠狠躁| 国产一区二区激情短视频 | 国产成+人综合+亚洲专区| 不卡一级毛片| 欧美午夜高清在线| 国产亚洲精品久久久久5区| 国产国语露脸激情在线看| 欧美大码av| a 毛片基地| 波多野结衣av一区二区av| 日韩视频在线欧美| 久久久欧美国产精品| 中文字幕人妻丝袜一区二区| 91成年电影在线观看| 久9热在线精品视频| www.熟女人妻精品国产| 欧美激情久久久久久爽电影 | 美女大奶头黄色视频| 亚洲美女黄色视频免费看| 两人在一起打扑克的视频| √禁漫天堂资源中文www| 精品久久久精品久久久| 一区二区三区激情视频| 巨乳人妻的诱惑在线观看| 国产男女超爽视频在线观看| 青草久久国产| 国产人伦9x9x在线观看| 欧美激情久久久久久爽电影 | 亚洲一码二码三码区别大吗| 亚洲熟女精品中文字幕| 亚洲精品国产色婷婷电影| 欧美日韩av久久| videos熟女内射| 国产男女超爽视频在线观看| 69精品国产乱码久久久| 法律面前人人平等表现在哪些方面 | 日韩免费高清中文字幕av| 午夜视频精品福利| 亚洲av美国av| 人成视频在线观看免费观看| 亚洲综合色网址| 老司机深夜福利视频在线观看 | 嫁个100分男人电影在线观看| 亚洲精品国产一区二区精华液| 人妻人人澡人人爽人人| 嫩草影视91久久| 国产亚洲欧美在线一区二区| 69av精品久久久久久 | 欧美97在线视频| 国产亚洲欧美在线一区二区| 嫁个100分男人电影在线观看| 成人三级做爰电影| 精品久久久精品久久久| 亚洲国产成人一精品久久久| 日本欧美视频一区| 视频区欧美日本亚洲| 久久精品亚洲av国产电影网| 日本猛色少妇xxxxx猛交久久| av在线播放精品| 少妇 在线观看| 在线观看一区二区三区激情| 日本a在线网址| 欧美大码av| 99国产极品粉嫩在线观看| 日韩三级视频一区二区三区| 人成视频在线观看免费观看| 操美女的视频在线观看| 真人做人爱边吃奶动态| 久久久久久久大尺度免费视频| 亚洲,欧美精品.| 国产福利在线免费观看视频| 最黄视频免费看| 黑人欧美特级aaaaaa片| 欧美人与性动交α欧美软件| 97在线人人人人妻| 国产成人精品在线电影| 日韩有码中文字幕| 淫妇啪啪啪对白视频 | 18禁观看日本| 国产在线免费精品| 啪啪无遮挡十八禁网站| 少妇的丰满在线观看| 亚洲av成人一区二区三| 免费在线观看影片大全网站| 99久久国产精品久久久| 午夜成年电影在线免费观看| 精品国产国语对白av| 动漫黄色视频在线观看| av视频免费观看在线观看| 中文字幕另类日韩欧美亚洲嫩草| 一进一出抽搐动态| 丁香六月欧美| 国产无遮挡羞羞视频在线观看| 国产一卡二卡三卡精品| 亚洲精品日韩在线中文字幕| 高清在线国产一区| a 毛片基地| 久久精品aⅴ一区二区三区四区| 最近最新中文字幕大全免费视频| 在线av久久热| 日韩免费高清中文字幕av| 99国产极品粉嫩在线观看| 国产免费现黄频在线看| 操出白浆在线播放| 国产av国产精品国产| 欧美 日韩 精品 国产| 99精品欧美一区二区三区四区| 免费高清在线观看视频在线观看| 伦理电影免费视频| 侵犯人妻中文字幕一二三四区| 一区福利在线观看| 麻豆av在线久日| 正在播放国产对白刺激| 老汉色∧v一级毛片| 国产在线免费精品| 亚洲伊人久久精品综合| 黑人操中国人逼视频| 国产一区有黄有色的免费视频| 国产福利在线免费观看视频| 色综合欧美亚洲国产小说| 亚洲精品第二区| 国产xxxxx性猛交| 欧美激情极品国产一区二区三区| 欧美日韩视频精品一区| 亚洲第一欧美日韩一区二区三区 | 99热国产这里只有精品6| 少妇猛男粗大的猛烈进出视频| 在线亚洲精品国产二区图片欧美| 亚洲av电影在线进入| 各种免费的搞黄视频| 97人妻天天添夜夜摸| kizo精华| 人人妻人人澡人人看| 不卡av一区二区三区| 久久精品国产亚洲av香蕉五月 | 欧美成人午夜精品| 亚洲精品国产精品久久久不卡| 一区二区av电影网| 欧美激情久久久久久爽电影 | 国产成人啪精品午夜网站| 欧美精品亚洲一区二区| www.999成人在线观看| 免费不卡黄色视频| 亚洲自偷自拍图片 自拍| 久久精品aⅴ一区二区三区四区| 国产欧美日韩一区二区精品| 少妇猛男粗大的猛烈进出视频| 涩涩av久久男人的天堂| 男女免费视频国产| 久久午夜综合久久蜜桃| 女人被躁到高潮嗷嗷叫费观| 日韩熟女老妇一区二区性免费视频| 亚洲国产av影院在线观看| 国产一区二区 视频在线| 亚洲专区国产一区二区| 中文字幕人妻丝袜一区二区| 国产麻豆69| 岛国在线观看网站| 久久亚洲国产成人精品v| 一级片免费观看大全| 亚洲人成电影免费在线| 久久国产亚洲av麻豆专区| 亚洲精品久久久久久婷婷小说| 一本—道久久a久久精品蜜桃钙片| 91精品伊人久久大香线蕉| 在线观看www视频免费| 欧美日韩av久久| 国产真人三级小视频在线观看| 国产精品av久久久久免费| 亚洲免费av在线视频| 又紧又爽又黄一区二区| 国产三级黄色录像| 中文精品一卡2卡3卡4更新| 午夜两性在线视频| 人人妻人人澡人人爽人人夜夜| 午夜久久久在线观看| 激情视频va一区二区三区| 18在线观看网站| 国产精品av久久久久免费| 美女主播在线视频| 多毛熟女@视频| 欧美国产精品va在线观看不卡| 女人高潮潮喷娇喘18禁视频| 免费高清在线观看日韩| 色婷婷av一区二区三区视频| 午夜福利视频精品| 婷婷成人精品国产| 亚洲欧美精品自产自拍| 十分钟在线观看高清视频www| 国产免费一区二区三区四区乱码| 飞空精品影院首页| 在线天堂中文资源库| 一区在线观看完整版| 黄片播放在线免费| 五月天丁香电影| 日韩精品免费视频一区二区三区| 欧美xxⅹ黑人| av片东京热男人的天堂| 久久久水蜜桃国产精品网| 精品国产乱码久久久久久男人| 操美女的视频在线观看| 99热全是精品| 国产伦理片在线播放av一区| 亚洲黑人精品在线| 日韩大片免费观看网站| 中文字幕av电影在线播放| 一边摸一边做爽爽视频免费| 亚洲精品一二三| 男人操女人黄网站| 久久久久久久精品精品| 国产成+人综合+亚洲专区| 亚洲精品第二区| 法律面前人人平等表现在哪些方面 | 51午夜福利影视在线观看| 国产精品久久久久久人妻精品电影 | 丝袜在线中文字幕| 18禁国产床啪视频网站| 国产av又大| 看免费av毛片| 欧美激情久久久久久爽电影 | 男女无遮挡免费网站观看| 五月开心婷婷网| av网站免费在线观看视频| 欧美少妇被猛烈插入视频| 久久午夜综合久久蜜桃| 建设人人有责人人尽责人人享有的| 两个人免费观看高清视频| 又大又爽又粗| 色综合欧美亚洲国产小说| 久久国产精品人妻蜜桃| 国产精品久久久久久精品电影小说| 国产日韩欧美在线精品| 国产在线视频一区二区| 黑丝袜美女国产一区| 日本撒尿小便嘘嘘汇集6| 2018国产大陆天天弄谢| 亚洲自偷自拍图片 自拍| 亚洲成人免费电影在线观看| 蜜桃在线观看..| 久久精品亚洲av国产电影网| 亚洲精品国产色婷婷电影| 国产精品免费视频内射| 午夜免费成人在线视频| 国产精品.久久久| 麻豆av在线久日| 制服诱惑二区| 亚洲欧美日韩高清在线视频 | 50天的宝宝边吃奶边哭怎么回事| 一级黄色大片毛片| 久久精品国产亚洲av香蕉五月 | 51午夜福利影视在线观看| 热99re8久久精品国产| 一区二区三区乱码不卡18| 国产在线一区二区三区精| 午夜福利视频精品| 精品一区二区三区av网在线观看 | 日韩制服丝袜自拍偷拍| 在线观看一区二区三区激情| 五月开心婷婷网| 69精品国产乱码久久久| 91大片在线观看| 老司机深夜福利视频在线观看 | 亚洲成av片中文字幕在线观看| 精品国产一区二区三区久久久樱花| 一进一出抽搐动态| 91九色精品人成在线观看| 男人舔女人的私密视频| 久久国产精品大桥未久av| 色综合欧美亚洲国产小说| 一边摸一边做爽爽视频免费| 97在线人人人人妻| 人人妻人人澡人人爽人人夜夜| 亚洲一卡2卡3卡4卡5卡精品中文| 黄色怎么调成土黄色| 热re99久久精品国产66热6| 岛国毛片在线播放| 女人精品久久久久毛片| 老司机在亚洲福利影院| 一区二区日韩欧美中文字幕| 最新的欧美精品一区二区| 欧美国产精品一级二级三级| 黑人巨大精品欧美一区二区mp4| 国产精品九九99| 日韩有码中文字幕| 伦理电影免费视频| 欧美 亚洲 国产 日韩一| 考比视频在线观看| 精品国产乱码久久久久久小说| 91大片在线观看| 亚洲精品一区蜜桃| 国产伦人伦偷精品视频| 亚洲国产av影院在线观看| 亚洲欧美一区二区三区久久| 午夜福利乱码中文字幕| 亚洲精品自拍成人| 777久久人妻少妇嫩草av网站| 午夜福利免费观看在线| 亚洲伊人久久精品综合| 精品高清国产在线一区| 日本精品一区二区三区蜜桃| 欧美少妇被猛烈插入视频| 久久狼人影院| e午夜精品久久久久久久| 丝瓜视频免费看黄片| 亚洲欧美成人综合另类久久久| 国产高清视频在线播放一区 | 黄色毛片三级朝国网站| 午夜福利,免费看| 91大片在线观看| 宅男免费午夜| av天堂久久9| 亚洲av美国av| 亚洲欧美日韩高清在线视频 | 日韩电影二区| 色综合欧美亚洲国产小说| 丁香六月天网| 18禁裸乳无遮挡动漫免费视频| 91成人精品电影| 可以免费在线观看a视频的电影网站| 国产亚洲av片在线观看秒播厂| 十分钟在线观看高清视频www| 亚洲精品一区蜜桃| 国产精品秋霞免费鲁丝片| 嫩草影视91久久| 日韩制服骚丝袜av| 日韩欧美国产一区二区入口| 日本wwww免费看| 日本五十路高清| 国产成人免费观看mmmm| 天天躁狠狠躁夜夜躁狠狠躁| 可以免费在线观看a视频的电影网站| 99国产极品粉嫩在线观看| 免费不卡黄色视频| 新久久久久国产一级毛片| 在线av久久热| 搡老岳熟女国产| 亚洲国产中文字幕在线视频| 午夜免费观看性视频| 欧美精品av麻豆av| 亚洲国产精品999| 脱女人内裤的视频| 亚洲精品国产精品久久久不卡| 在线观看免费高清a一片| 精品久久久久久久毛片微露脸 | 女人被躁到高潮嗷嗷叫费观| 日本一区二区免费在线视频| 亚洲精品一区蜜桃| tocl精华| 久热爱精品视频在线9| 电影成人av| 啦啦啦啦在线视频资源| 99香蕉大伊视频| 人人妻,人人澡人人爽秒播| 久久久久视频综合|