发布于 2015-09-07 03:58:59 | 651 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

京东购物商城

京东是中国最大的自营式电商企业,在线销售计算机、手机及其它数码产品、家电、汽车配件、服装与鞋类、奢侈品、家居与家庭用品、化妆品与其它个人护理用品、食品与营养品、书籍与其它媒体产品、母婴用品与玩具、体育与健身器材以及虚拟商品等13大类3,150万种SKUs优质商品。


1、数据结构

   若一颗二叉树的前序遍历为a,e,b,d,c后序遍历为b,c,d,e,a,则根节点的孩子节点( )

   A:只有e

   B:有e,b

   C:有e,c

   D:不确定

   答案:A

   解析:先序遍历的首结点一定是根,所以,a是整个树的根。假设a的左右孩子分别是a.left、a.right,同时,以a.left为根的子树称为,以a.right为根的子树称为,则

   整个树的前序遍历是:a a.left a.right

   整个树的后序遍历是: a.left a.right a

   对照aebdc和bcdea,得:

   a.left:e

   :b,c,d

   :NULL

   a.right:NULL

   即,a只有左孩子e。

2、算法

   已知一个无向图(边为正数)中顶点A,B的一条最短路P,如果把各个边的重(即相邻两个顶点的距离)变为原来的2倍,那么在新图中,P仍然是A,B之间的最短路,以上说法是( )

   A:错误

   B:正确

   答案:B

   解析:考察Dijkstra算法:权值变成2倍后,从A到B,每次新添加的结点不变,到达B经过的边数也不变。因此,最短路径和原来保持不变。注:如果题目是边的权值都增加相同的正数,则不保证新最短路径保持不变。

3、算法

   如下程序的时间复杂度为(其中m>1,e>0)( )

   x=m;

   y=1

   while(x-y>e)

   {

   x=(x+y)/2;

   y=m/x

   }

   print(x);

   A:log m

   B:m的平方

   C:m的1/2方

   D:m的1/3方

   答案:A

   解析:x=(x+y)/2中,x每次都折半为当前和的一半,如果不是y=m/x,而是y==1不变,则显然只经过(logN次,x-y的值即小于e;何况y=m/x会保证y的新值不小于y的老值,进一步降低x-y的值。因此,上限是O(logN)。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务