选择练习题01

本文深入探讨了算法效率分析,包括渐进时间复杂度概念,不同数据结构如数组、链表的操作特性,以及多种排序算法如折半查找、堆排序、快速排序等在不同数据结构上的适用性。同时,介绍了广义表的概念,JavaScript中数组的特殊性质,以及事件处理中preventDefault()方法的使用,旨在全面理解算法和数据结构。
摘要由CSDN通过智能技术生成

 思路:前面i-1个元素不动,那么就要移动n-(i-1)个元素了。

 

思路:var a=[ ];

          创建一个长度为0的数组;

          a[5]=4;

          数组长度自动延长到6,没有赋值的元素均为undefined。

 

思路:渐进时间复杂度是指n趋于无穷时的复杂度。向有序表中任意一个位置插入元素,插入位置之后的元素依次挪动一个位置,假设元素插入的位置坐标为k,则时间复杂度为O(k),渐进时间复杂度为O(n)。

 

思路: typeof(arr) 返回的是 Object

            instanceof 在跨 frame 对象构建的场景下会失效

            arr.toString 没有这种用法,正确的用法是 arr.toString() 返回的是数组的内容

 

思路:行列反了

 

思路:广义表( Lists ,又称列表) 是线性表的推广。线性表定义为 n>=0 个元素 a1,a2,a3,…,an 的有限序列。线性表的元素仅限于原子项,原子是作为结构上不可分割的成分,它可以是一个数或一个结构,若放松对表元素的这种限制,容许它们具有其自身结构,这样就产生了广义表的概念。

 


思路:js中事件对象的方法:
1)stopPropagation() 阻止事件冒泡。 这个事件不会阻止定义在元素上的其他事件。
2)stopImmediatePropagation() 会彻底的阻止事件。在其之后的绑定在元素上的其他监听事件都不会触发。
3)preventDefault() 阻止事件的默认动作。

因此,可以使用preventDefault()阻止默认行为。例如a链接的跳转,在a链接跳转中,需要先对a链接绑定点击事件,然后在a链接的事件对象中调用该方法即可。

 

思路:折半查找属于随机访问特性 链表不行

堆排序也不能用链表 因为调整堆时没法随机访问底层孩子节点

快速排序可以链表

归并排序可用链表

基数排序可用链表

插入排序链表比数组要快一些 减少移动次数

 

思路:$apply()方法可以在angular框架之外执行angular JS的表达式,例如:DOM事件、setTimeout、XHR或其他第三方的库。

 

思路:

  • hover移入移出,输入验证一般不会使用hover
  • keypress也不会用作输入验证,
  • change可以用作输入验证的事件,change(fn)只是一种实现方式,还有其他实现方式:
    • 原生js的onchange属性,
    • html属性onchange,
    • addEventListener(onchange,fn)都是实现方式,
    • jquery中除了$(selector).change(fn)外还有bind(change,fn)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值