冒泡排序(续)

之前在网易中写过一篇冒泡排序的章:

http://m18713008480.blog.163.com/blog/static/253452025201651172627678/

下面做一个简单的总结:

【冒泡排序基本思想】

       对待排序的数组从后往前进行多次扫描,扫描过程中发现相邻的两个数不符合排序规则时,就交换位置。

                                                                                       

【排序次数】

       分为外层循环i和内层循环j,举例说明,有n个数,进行排序时,要进行i=n-1次外层循环,每次外循环都要进行j=n-i次内循环

【补不足】

       以前那样写就表明一定要排n-1次,但是发现如果某次排序后,但还没到最后一次,该数组已经有序,就不需要再次对已有序数组排序了,可直接结束排序,下面是我用C#写的补充之前在此方面的不足的冒泡排序的代码。代码思路是一样的,但是会声明一个标志变量,标识否停止循环的变量。即通过内存空间使用上的增多来使程序的执行效率提升,该方法成为“以空间换取时间”。

            //清空之前排好的数
            labNew.Text = "";          

            for (int i = 0; i < arrNum.Length - 1;i++ )//外层循环
            {
                //标识是否结束循环,true则结束本次扫描
                bool flag = false;
                for (int j = arrNum.Length - 1; j > i; j--)//内层循环
                {
                    if (arrNum[j] < arrNum[j - 1])//交换顺序
                    {
                        flag = true;
                        int temp = arrNum[j];
                        arrNum[j] = arrNum[j - 1];
                        arrNum[j - 1] = temp;
                    }                    
                }
                if (flag == false)
                {
                    goto Finsh;
                }
                MessageBox.Show(i.ToString());
            }
            Finsh:
            //把排好的数显示出来
            for (int i = 0; i < arrNum.Length;i++ )
            {
                labNew.Text += arrNum[i] + "、";
            }
            labNew.Text = labNew.Text.Substring(0, labNew.Text.LastIndexOf('、'));

【总结】

           方法总在优化,有优化就有动力。冒泡还有待研究。。。



内容概要:本文深入探讨了多种高级格兰杰因果检验方法,包括非线性格兰杰因果检验、分位数格兰杰因果检验、混频格兰杰因果检验以及频域因果检验。每种方法都有其独特之处,适用于不同类型的时间序列数据。非线性格兰杰因果检验分为非参数方法、双变量和多元检验,能够在不假设数据分布的情况下处理复杂的关系。分位数格兰杰因果检验则关注不同分位数下的因果关系,尤其适合经济数据的研究。混频格兰杰因果检验解决了不同频率数据之间的因果关系分析问题,而频域因果检验则专注于不同频率成分下的因果关系。文中还提供了具体的Python和R代码示例,帮助读者理解和应用这些方法。 适合人群:从事时间序列分析、经济学、金融学等领域研究的专业人士,尤其是对非线性因果关系感兴趣的学者和技术人员。 使用场景及目标:①研究复杂非线性时间序列数据中的因果关系;②分析不同分位数下的经济变量因果关系;③处理不同频率数据的因果关系;④识别特定频率成分下的因果关系。通过这些方法,研究人员可以获得更全面、细致的因果关系洞察。 阅读建议:由于涉及较多数学公式和编程代码,建议读者具备一定的统计学和编程基础,特别是对时间序列分析有一定了解。同时,建议结合具体案例进行实践操作,以便更好地掌握这些方法的实际应用。
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值