分享

【算法练习】校招研发工程师笔试题

 老马的程序人生 2021-09-24

01、设线性表中有个元素,()在单链表上实现要比在顺序表上实现效率更高。

  • (A)删除所有值为的元素
  • (B)在最后一个元素的后面插入一个新元素
  • (C)顺序输出前个元素
  • (D)交换第个元素和第个元素的值(

02、下列关于线性表说法中,正确的是()。

I. 顺序存储方式只能用于存储线性结构。

II. 取线性表的第个元素的时间与的大小有关。

III. 在一个长度为的有序单链表中插入一个新结点并仍保持有序的时间复杂度为

IV. 若用单链表来表示队列,则应该选用带尾指针的循环链表。

  • (A)I、II
  • (B)I、III
  • (C)III、IV
  • (D)II、III、IV

03、在双向链表中,删除P所指的结点,则执行()。

  • (A)P.Next.Prior = P.Prior; P.Prior.Next = P.Next;
  • (B)P.Next.Prior = P.Prior; P.Prior = P.Next;
  • (C)P.Prior.Next = P; P.Prior = P.Prior.Prior;
  • (D)P.Prior = P.Next.Next; P.Next = P.Prior.Prior;

04、下列代码运行结束后,output1中存储的值是()

static void Main(string[] args)
{
    int[] nums = new int[] { 1234 };
    int len = nums.Length;
    int[] output1 = new int[len];
    int[] output2 = new int[len];
    output1[0] = 1;
    output2[len - 1] = 1;
    for (int i = 1; i < len; i++)
    {
        output1[i] = output1[i - 1] * nums[i - 1];
        output2[len - i - 1] = output2[len - i] * nums[len - i];
    }
    for (int i = 0; i < len; i++)
    {
        output1[i] *= output2[i];
    }
}
  • (A)24 12 6 8
  • (B)24 12 8 6
  • (C)24 5 12 6
  • (D)6 8 12 24

05、以下算法中加(*)的语句的执行次数为()

int m = 0, i, j;
for (i = 1; i <= n; i++)
    for (j = 1; j < 2 * i; j++)
        m++; (*)
  • (A)
  • (B)
  • (C)
  • (D)

06、下列代码的运行结果是()

abstract class Animal
{

    public abstract void Eat();
    public abstract void Sleep();

}
class Bird : Animal
{
    public override void Eat()
    
{
        Console.WriteLine("Bird Eat.");
    }
    public override void Sleep()
    
{
        Console.WriteLine("Bird Sleep.");
    }
    public void Fly()
    
{
        Console.WriteLine("Bird Fly.");
    }
}
static void Main(string[] args)
{
    Animal al = new Bird();
    al.Fly();
}
  • (A)Bird Eat.
  • (B)Bird Sleep.
  • (C)Bird Fly.
  • (D)程序报错,无法运行。

07、下列关于继承说法错误的是()

  • (A)继承就是子类拥有父类某些Data和Operation的过程
  • (B)C#语言只允许单继承,不允许多继承。
  • (C)利用base关键字可防止所声明的类被继承。
  • (D)C#在类的声明中,利用“:”表示继承

08、下列有关运行时多态错误的说法是()

  • (A)在父类中定义并实现虚方法(virtual)
  • (B)在子类中覆写(override)该虚方法
  • (C)虚方法可以没有方法体
  • (D)覆写虚方法,要求方法名,形参,返回值类型必须相同

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多