菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育

标题: 赵强-20221008-前端预科4 [打印本页]

作者: BlueFlame    时间: 2022-10-8 23:34
标题: 赵强-20221008-前端预科4
一、近日学习内容:
(1)算法:是在有限的步骤范围内,求解某一问题,所定义明确的规则
特点:
       明确性:算法的每一个步骤都是明确定,能有效执行且可以得到有效结果
       有限性:算法由限的步骤组成,必须在有限的操作停止,并且给出操作结果
       有序性:算法从初始步骤开始每一步都只能有一个确定的继任者,只有执行完前一步才能执行后一步
       不唯一性:求解某一问题的解法不是唯一的,对于同一个问题可以有不同的解法,算法有优劣之分
       普适性:写出的算法必须能解决一类问题,并且能够重复使用,这是设计算法的一条基本原则
(2)流程图:椭圆框(开始、结束)、矩形框(判断条件)
(3)伪代码:一种算法描述语言,使用伪代码的目的是为了被描述的算法可以被更容易的算法实现
  特点:
       1.必须要结构保持清晰,代码简单,可读性好
       2.伪代码是类似于自然语言的描述,是介于自然语言与编程语言之间的
       3.以编程语言的书写形式来指明算法的作用
       4.不用拘泥于具体代码的实现
  赋值语句: 用⬅表示       将右边的值赋值给左边
          x<-- -->y ;   表示将x与y的值互换  (注意分号)
  选择控制语句:  if----else----else if (elif)
         if  x > 0  then  
        打印x为正数
         end

         if  x > 0  then
        打印x为正数
         else
        打印x为非正数

  循环控制语句:
        while循环:在初始阶段要进行条件判断,条件为真时执行循环,条件为假时终止循环
        例:x <-- 1 ;
              whlie  x < 10  do
                打印出x的值
                x = x + 1;
              end
        for循环: 循环次数受限制的循环语句
        例:for i <--  0  to  10
                打印出 i 的值
               end
  伪代码的常用表达式:
        i++ ;  ++i        i = i + 1 将变量 i 的值加一
        x /=2               x = x / 2
        x == y             判断x 与 y 相等
        a & b               a 和 b
        a || b                a 或 b
        break               停止循环并且跳出
        continue          跳出当前循环进入下一次循环
(4)冒泡排序  第一次比较将最大的数排在最后面,第二次比较将次大数排在倒数第二位 ......直至将顺序排好
      js代码实现:
function bubbleSort2(arr) {
    console.time('改进后冒泡排序耗时');
    var i = arr.length-1;  //初始时,最后位置保持不变
    while ( i> 0) {
        var pos= 0; //每趟开始时,无记录交换
        for (var j= 0; j< i; j++)
            if (arr[j]> arr[j+1]) {
                pos= j; //记录交换的位置
                var tmp = arr[j]; arr[j]=arr[j+1];arr[j+1]=tmp;
            }
        i= pos; //为下一趟排序作准备
     }
     console.timeEnd('改进后冒泡排序耗时');
     return arr;
}






欢迎光临 菁英数字科技(猩码)-猩码学苑-专注软件开发人才菁英教育 (http://www.xingmaxueyuan.com/) Powered by Discuz! X3.4