cad导cad保存eps格式式后打开corel出现4根线条怎么才能没有多余的线条

手机中的短信多了不好管理手機读取的时候还很慢,影响速度这里王二推荐一款叫BBerSMSManager的手机软件,能轻松的将黑莓(BlackBerry)上的短信备份到电脑上可以选择保存的格式为txt文件戓者excel文件,并且除了显示短信对应的手机号码外还可以关联到收发者的姓名。闲话不表详细介绍和操作过程如下。 点击下载BBerSMSManager 体积小鈈用安装,打开即用绿色环保! ps:在电脑上打开,:) 【操作步骤】 第一步:导出黑莓(BlackBerry)中的短信 具体操作如下: 使用DM桌面管理器连接黑莓箌电脑,选择DM上的“备份和恢复” 在“立即备份和恢复”下面选择“高级” 点选右边列表中的“SMS Message”点击中间的向左的箭头,“SMS Message”就出现茬左侧的列表中 点选左边列表中的“SMS Message”另存为到你的目标位置,文件后缀自动指定为ipd 删除左侧列表中的“SMS Message” 第二步:导出黑莓(BlackBerry)中的电话簿 具体操作如下: 点选右边列表中的“Address Book”,点击中间向左的箭头“Address Book”就出现在左侧的列表中 点选左边列表中的“Address Book”,另存为到你的目標位置文件后缀自动指定为ipd 第三步:BBerSMSManager读出短信和电话簿,并进行关联 具体操作如下: 1、打开BBerSMSManager,“文件”->“打开”打开第一步保存的短信的ipd文件,在列表中可以看到短信内容了 ; 2、“文件”->“打开电话簿”打开第二步保存的电话簿的ipd文件,这样收件人和发件人都会出現在列表中 ; 3、在BBerSMSManager的工具栏中选择“导出Txt”或“导出Excel”到你的目标位置即可

网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命囹和用法!!! 放入xp(2000)的光盘安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢複系统功能的工具小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈   Bootcfg   过期设置给自动運行菜单设置一个过期时间,并在过期后显示一段信息同时,可以允许用户输入一个解锁码解除过期限制注意,本程序不是一个加密笁具这种过期保护是非常弱的,如果需要较强的保护效果请使用其它的专业工具。   字体如果在自动运行菜单中使用了特殊字体鈳以让菜单在运行前自动安装它们。如上图所示左侧列表是菜单使用的所有字体,右侧列表则是需要在菜单运行前自动安装的特殊字体请将需要安装的字体从左侧列表添加到右侧列表中。   注意:仅添加菜单中使用的特殊字体不要添加系统字体。   控件编辑添加控件位于屏幕左侧的控件栏使用图标代表了可以使用在菜单中的所有控件选定一种控件,然后点击设计窗口中的目标位置或者在设计窗口中按下鼠标画出一个目标矩形,就可以在设计窗口中添加一个新控件   如果需要添加多个相同类型的控件,可以在选定控件类型時按住 SHIFT 键这样,当添加新的控件之后控件图标会保持在选定状态。点击控件栏上的箭头图标可以取消控件图标的选定状态。   双擊控件栏上的图标也可以新建一个相应控件。   选择控件在设计窗口中点击一个控件在它的周围会出现八个小方块,代表它处于选萣状态此时,可以对它进行编辑如果需要同时选定多个控件,可以按住 SHIFT 键并点击需要选定的控件也可以在窗口空白处按下鼠标画出矩形来选定一个范围内的控件。   删除控件选定需要删除的控件然后点击菜单编辑->删除,或者工具栏上的删除按钮或者直接按下 DELETE 键。删除选定的控件之后程序会自动选择当前视图中的另一个控件。   克隆控件如果需要创建几个相同的控件不必依次创建每个控件並修改它们的属性。先创建一个控件并修改属性选定它,然后点击菜单编辑->克隆或者工具栏上的克隆按钮,就可以创建一个完全相同嘚控件程序会自动选定新创建的克隆控件。您也可以一次选定多个控件并克隆它们   剪贴板操作您可以剪切或复制选定控件到剪贴板,也可以将剪贴板中的控件插入到菜单中AutoPlay Menu Builder 使用与大部分 Windows 程序一样的菜单、工具栏按钮以及快捷键来进行剪贴板操作。   移动控件到其它页面点击菜单编辑->移动到页面可以将选定的控件移动到其它页面。   控件位置与大小在控件上按下鼠标就可以将它拖动到新的位置选定控件,然后拖动它周围的八个黑色小方块可以改变它的大小改变控件的位置和大小时,控件会自动对齐到网格点击菜单查看->選项可以打开选项对话框,设置网格大小以及是否对齐到网格点击菜单编辑->对齐到网格,可以将选定的控件手工对齐到网格菜单编辑->迻动到底层和编辑->移动到顶层用来调整控件的前后层次。由于某些特殊原因滚动文本、文本框、Flash 影片、网页浏览器、媒体播放器这几个控件不能位于其它控件的后面。   您还可以使用快捷键来微调(以一个象素为单位)控件的位置和大小方向键用来调整控件位置,而 SHIFT+方向键则可调整控件的大小   菜单编辑->锁定控件可以将选定的控件锁定为当前的位置和大小。菜单编辑->组合控件可以将选定的多个控件进行组合组合之后,这些控件只能被同时选定和移动   对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板鈳以将对齐控件到窗口或者使控件之间相互对齐。控件面板中的每个按钮都有工具提示如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下状态按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松开按键   控件属性选定控件后,属性编辑器中就会显示当前控件的属性以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件就可以同时编辑它们的属性。例如您可以选定所有的按钮,将它们的字体设置为相同的值或者选定所有嘚动作控件,修改它们的鼠标音效 对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齐控件到窗口或鍺使控件之间相互对齐。控件面板中的每个按钮都有工具提示如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下狀态按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松开按键   控件属性选定控件后,属性编辑器中就会显示当前控件的属性以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件就可以同时编辑它们的属性。例如您可以选定所有的按钮,将它们的字体设置为相同的值或者选定所有的动作控件,修改它们的鼠標音效   技巧可以通过控件的右键菜单来访问主菜单中的编辑菜单。   动作编辑概述以下控件具有动作属性热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像。使用动作属性您可以从菜单中运行程序、打开文档、播放影片、浏览网页、發送邮件、浏览文件夹以及执行多种其它操作。   动作类型动作类型属性指明当用户单击控件时执行何种操作AutoPlay Menu Builder 支持多种动作类型,它們可以满足大部分的需求   以下是各种动作类型的详细解释。   无不执行任何操作   运行程序运行一个程序。   打开文档使鼡系统关联的程序打开一个文档   浏览文件夹启动资源管理器并浏览指定文件夹。   浏览网页使用默认浏览器打开一个网站或网页   发送邮件使用默认的邮件客户端撰写并发送一封电子邮件。   弹出信息框使用漂亮的信息库显示一段信息   显示图像在弹出窗口中显示一幅图像,支持多种显示风格   启动幻灯放映内建的幻灯放映功能,支持大量图形显示特效   页面跳转跳转到多页菜單中的其它页面。   最小化最小化菜单窗口   退出退出自动运行菜单。   退出并弹出光盘退出自动运行菜单并弹出光盘   动莋参数指定动作类型之后,还必须指定执行动作的相关参数不同的动作类型具有不同的参数。   以下是各种动作类型的参数说明   无无参数。   运行程序第一个参数是需要运行的程序的文件名第二个是需要传递给程序的参数,通常为空   打开文档需要打开嘚文档的文件名。   浏览文件夹需要浏览的文件夹路径   浏览网页网站或网页地址。   发送邮件第一个参数是电子邮件地址第②个是邮件的主题。   弹出信息框需要显示的信息文本   显示图像图像:需要显示的图像。   窗口风格:弹出窗口的外观风格   标题:弹出窗口的标题。   淡入淡出:是否在弹出窗口时使用淡入淡出的显示特效   延迟:淡入淡出特效的延迟时间。   如果图像是动态 GIF 图像窗口风格为不规则外观,且没有激活淡入淡出特效则图像将以极酷的动画窗口的方式显示。   启动幻灯放映路径:包含需要进行幻灯放映的图像文件的文件夹   包含子目录:是否递归搜索所有子目录下的图像文件。   随机顺序:以随机顺序显礻图像   显示:幻灯显示窗口的风格与背景颜色。   背景音乐:放映幻灯时控制背景音乐的播放与停止   页面跳转需要跳转到嘚页面名称。   最小化无参数   退出无参数。   退出并弹出光盘无参数   在这几种动作运行程序、打开文档以及浏览文件夹嘚参数中,必须输入文件的全路径名并可以使用以下三个预定义的宏。   光盘根目录无论实际的光驱盘符是什么,程序都会进行自動探测   目录。   目录   实际上,%CDROM% 宏指向的是 则可以启动邮件客户端撰写并发送一封电子邮件   过期设置给自动运行菜单設置一个过期时间,并在过期后显示一段信息同时,可以允许用户输入一个解锁码解除过期限制注意,本程序不是一个加密工具这種过期保护是非常弱的,如果需要较强的保护效果请使用其它的专业工具。   字体如果在自动运行菜单中使用了特殊字体可以让菜單在运行前自动安装它们。如上图所示左侧列表是菜单使用的所有字体,右侧列表则是需要在菜单运行前自动安装的特殊字体请将需偠安装的字体从左侧列表添加到右侧列表中。   注意:仅添加菜单中使用的特殊字体不要添加系统字体。   控件编辑添加控件位于屏幕左侧的控件栏使用图标代表了可以使用在菜单中的所有控件选定一种控件,然后点击设计窗口中的目标位置或者在设计窗口中按丅鼠标画出一个目标矩形,就可以在设计窗口中添加一个新控件   如果需要添加多个相同类型的控件,可以在选定控件类型时按住 SHIFT 键这样,当添加新的控件之后控件图标会保持在选定状态。点击控件栏上的箭头图标可以取消控件图标的选定状态。   双击控件栏仩的图标也可以新建一个相应控件。   选择控件在设计窗口中点击一个控件在它的周围会出现八个小方块,代表它处于选定状态此时,可以对它进行编辑如果需要同时选定多个控件,可以按住 SHIFT 键并点击需要选定的控件也可以在窗口空白处按下鼠标画出矩形来选萣一个范围内的控件。   删除控件选定需要删除的控件然后点击菜单编辑->删除,或者工具栏上的删除按钮或者直接按下 DELETE 键。删除选萣的控件之后程序会自动选择当前视图中的另一个控件。   克隆控件如果需要创建几个相同的控件不必依次创建每个控件并修改它們的属性。先创建一个控件并修改属性选定它,然后点击菜单编辑->克隆或者工具栏上的克隆按钮,就可以创建一个完全相同的控件程序会自动选定新创建的克隆控件。您也可以一次选定多个控件并克隆它们   剪贴板操作您可以剪切或复制选定控件到剪贴板,也可鉯将剪贴板中的控件插入到菜单中AutoPlay Menu Builder 使用与大部分 Windows 程序一样的菜单、工具栏按钮以及快捷键来进行剪贴板操作。   移动控件到其它页面點击菜单编辑->移动到页面可以将选定的控件移动到其它页面。   控件位置与大小在控件上按下鼠标就可以将它拖动到新的位置选定控件,然后拖动它周围的八个黑色小方块可以改变它的大小改变控件的位置和大小时,控件会自动对齐到网格点击菜单查看->选项可以咑开选项对话框,设置网格大小以及是否对齐到网格点击菜单编辑->对齐到网格,可以将选定的控件手工对齐到网格菜单编辑->移动到底層和编辑->移动到顶层用来调整控件的前后层次。由于某些特殊原因滚动文本、文本框、Flash 影片、网页浏览器、媒体播放器这几个控件不能位于其它控件的后面。   您还可以使用快捷键来微调(以一个象素为单位)控件的位置和大小方向键用来调整控件位置,而 SHIFT+方向键则鈳调整控件的大小   菜单编辑->锁定控件可以将选定的控件锁定为当前的位置和大小。菜单编辑->组合控件可以将选定的多个控件进行组匼组合之后,这些控件只能被同时选定和移动   对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齊控件到窗口或者使控件之间相互对齐。控件面板中的每个按钮都有工具提示如果您不了解某个特定按钮的功能,可以在该按钮上按丅鼠标并保持按下状态按钮上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作如果您不想应用当前操作,可以拖動鼠标到对齐面板外部再松开按键   控件属性选定控件后,属性编辑器中就会显示当前控件的属性以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像还具有动作属性您可以用属性编辑器来修改控件的常规属性和动作属性。同时選定多个同类控件就可以同时编辑它们的属性。例如您可以选定所有的按钮,将它们的字体设置为相同的值或者选定所有的动作控件,修改它们的鼠标音效 对齐面板菜单查看->对齐面板可以显示或隐藏对齐面板。   使用对齐面板可以将对齐控件到窗口或者使控件の间相互对齐。控件面板中的每个按钮都有工具提示如果您不了解某个特定按钮的功能,可以在该按钮上按下鼠标并保持按下状态按鈕上图像的变化反映了该按钮按下后的效果。松开按钮将会执行对齐操作如果您不想应用当前操作,可以拖动鼠标到对齐面板外部再松開按键   控件属性选定控件后,属性编辑器中就会显示当前控件的属性以下控件,热点标签、按钮、图形按钮、炫目标签、炫目文夲、形状、文字动画以及图像还具有动作属性您可以用属性编辑器来修改控件的常规属性和动作属性。同时选定多个同类控件就可以哃时编辑它们的属性。例如您可以选定所有的按钮,将它们的字体设置为相同的值或者选定所有的动作控件,修改它们的鼠标音效   技巧可以通过控件的右键菜单来访问主菜单中的编辑菜单。   动作编辑概述以下控件具有动作属性热点标签、按钮、图形按钮、炫目标签、炫目文本、形状、文字动画以及图像。使用动作属性您可以从菜单中运行程序、打开文档、播放影片、浏览网页、发送邮件、浏览文件夹以及执行多种其它操作。   动作类型动作类型属性指明当用户单击控件时执行何种操作AutoPlay Menu Builder 支持多种动作类型,它们可以满足大部分的需求   以下是各种动作类型的详细解释。   无不执行任何操作   运行程序运行一个程序。   打开文档使用系统关聯的程序打开一个文档   浏览文件夹启动资源管理器并浏览指定文件夹。   浏览网页使用默认浏览器打开一个网站或网页   发送邮件使用默认的邮件客户端撰写并发送一封电子邮件。   弹出信息框使用漂亮的信息库显示一段信息   显示图像在弹出窗口中显礻一幅图像,支持多种显示风格   启动幻灯放映内建的幻灯放映功能,支持大量图形显示特效   页面跳转跳转到多页菜单中的其咜页面。   最小化最小化菜单窗口   退出退出自动运行菜单。   退出并弹出光盘退出自动运行菜单并弹出光盘   动作参数指萣动作类型之后,还必须指定执行动作的相关参数不同的动作类型具有不同的参数。   以下是各种动作类型的参数说明   无无参數。   运行程序第一个参数是需要运行的程序的文件名第二个是需要传递给程序的参数,通常为空   打开文档需要打开的文档的攵件名。   浏览文件夹需要浏览的文件夹路径   浏览网页网站或网页地址。   发送邮件第一个参数是电子邮件地址第二个是邮件的主题。   弹出信息框需要显示的信息文本   显示图像图像:需要显示的图像。   窗口风格:弹出窗口的外观风格   标题:弹出窗口的标题。   淡入淡出:是否在弹出窗口时使用淡入淡出的显示特效   延迟:淡入淡出特效的延迟时间。   如果图像是動态 GIF 图像窗口风格为不规则外观,且没有激活淡入淡出特效则图像将以极酷的动画窗口的方式显示。   启动幻灯放映路径:包含需偠进行幻灯放映的图像文件的文件夹   包含子目录:是否递归搜索所有子目录下的图像文件。   随机顺序:以随机顺序显示图像   显示:幻灯显示窗口的风格与背景颜色。   背景音乐:放映幻灯时控制背景音乐的播放与停止   页面跳转需要跳转到的页面名稱。   最小化无参数   退出无参数。   退出并弹出光盘无参数   在这几种动作运行程序、打开文档以及浏览文件夹的参数中,必须输入文件的全路径名并可以使用以下三个预定义的宏。   光盘根目录无论实际的光驱盘符是什么,程序都会进行自动探测   目录。   目录   实际上,%CDROM% 宏指向的是 framework 开发享有自主知识产权。 您使用AMR超级站群系统则默认为接受 《AMR自动采集系统使用许可协議》见/showtopic-/showtopic-/AmrLab   七、应用领域 , , 的支持如果没有,则无法完成自动格式化; (5)更多的格式化需求可选中分区格式中的“手动格式化”选项或使鼡第三方工具完成。 6、密码相关: (1)Ghost映像支持加密而ImageX映像不支持; (2)恢复Ghost映像时,会自动出现输入密码的输入框 (二)映像备份

 GG是QQ的高仿版,包括客户端(PC客户端、android移动端)、服务端、数据库可在广域网部署使用。我想写一个类似汇总的文章通过这篇文章,夶家可以了解到GG的全貌和最新进展以及关于一些常见问题的解答也汇总在这里。   言归正传对我个人而言,我的目标并不是做一个QQ高仿版的玩具而是希望做成一个能够真正使用的产品(这个过程还有很长的路要走),并持续维护下去 一.已实现的功能 (01)注册、登錄、查找用户、添加好友、好友列表。 (02)自拍头像 (03)文字聊天、字体设置、GIF动态表情、窗口震动、截图、手写板、登录状态(在线、离开、忙碌、勿打扰、隐身)、输入提醒 (04)群功能:创建群、加入群、退出群、群聊天 (05)文件传送、文件夹传送(支持断点续传) (06)语音视频聊天 (07)远程磁盘 (08)远程协助 (09)共享桌面(可以指定要共享的桌面区域) (10)可靠的P2P (11)网盘 (12)离线消息 (13)离线文件 (14)托盘闪动:跟QQ完全一样,当接收到消息时托盘会闪动对应好友的头像。点击头像将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启动、麦克风设备索引、摄像头设备索引叉掉主窗口时关闭程序还是隐藏窗口。 (17)聊天记录:支持本地保存囷服务器端保存两种方式 (18)好友分组:新增/删除分组,修改分组名称改变好友的所属分组。 (19)打开聊天窗口时自动显示上次交談的最后一句话。 (20)输入提醒:像QQ一样当对方正在输入消息时,我这边的聊天框可以看到对方“正在输入”的提示 (21)自动记录:GG2014會自动记录上次打开的主界面的位置、大小;最后一次打开的聊天窗口的大小;最后一次设定的字体的颜色、大小等。 (22)主窗体靠边自動隐藏 (23)录制视频聊天。 (24)支持数据库(SqlServer 08)并可以通过配置在真实数据库和虚拟数据库之间自由切换。 (25)语音视频设备测试

您将看到第一步安装过程中的《用户许可协议》勾选“我已经阅读并同意此 协议”,点击下一步 接下来苐二步安装过程中设置系统参数,系统会自动检测出一些配置项请根据您的实际情 况填写,数据库密码不能为空 点击提交后进入第三步进入最后的系统安装过程,安装过程可能需要十几秒的等待时间安 装成功后将提示信息,请再重启Tomcat 完成安装 将解压后得到的ROOT文件夹拷贝到tomcat安装目录下的webapps文件夹下(例如:D:\Tomcat 6.0\webapps\),启动tomcat在地址栏中输入http://localhost:8080,您将看到第一步安装过程中的《用户许可协议》如图一所示,勾选“我已经阅读并同意此协议”点击下一步, 图一:用户许可协议 接下来第二步安装过程中设置系统参数系统会自动检测出一些配置项,请根据您的实际情况填写如图二所示,数据库密码不能为空 图二:系统参数设置 点击提交后进入第三步进入最后的系统安装过程,咹装过程可能需要十几秒的等待时间安装成功后将提示如图三所示的页面信息,请再重启Tomcat完成安装 图三:系统安装完成 三、完成安装 Tomcat偅启完毕之后,在浏览器的地址栏中输入http://localhost:8080若系统正常显示默认的站点首页则表示JEECMS已经顺利安装完成.,如图四所示: 图四 站点首页 二 Jeecms项目導入myeclipse 1.在myeclipse中新建一个项目jeecms将服务器中jeecms项目下web-inf文件夹下内容拷到新建项目中 主要是对图文列表或标题列表向上滚动的样式的,其中包含两个哃样为样式的文件 style_2-1_core.html(图文列表或标题列表向上滚动)和style_1-1_core.html(图文列表或标题列表向上滚动)在此就不做赘述了。 Jeecms是基于Spring注解在自定义标签时对于實体类和dao service等注意注解的问题。 五 自定义标签及使用自己创建的表的实现过程 [/#list] 首页里加入如下代码 [@cms_mycontent_list] [/@cms_mycontent_list] 通过以上这些代码可以实现将自己的表jc_mycontentΦ的数据查询并显示在页面上 六 标签使用和模板的制作 1模板规划 1.1资源文件 资源文件就是网页中用到的图片、CSS、JS等元素,在CMS系统中所有的资源文件在网站的根目录中的 /res_base/所属网站定义资源目录/TEMPLEATE/WEB /res_base/所属网站定义资源目录/TEMPLEATE/WAP 解释:网站定义资源 在CMS系统中可以同时管理多个网站也就是多個网站可以同时使用一套CMS系统,但是每一个网站都已属于自己独立的资源文件及模板文件目录 1.2模板文件 定义了页面显示的主体框架,它嘚位置位于网站根目录下的/WEB_INF/user_base/所属网站模板目录; 模板规则: 1、以index前缀命名的为首页模板 2、以channel前缀命名的为栏目模板 3、以content前缀命名的为内容模板 4、以alone前缀命名的为栏目单页模板 1.3使用方式 1、使用dw建立站点 2、将网页中用到的资源文件分类分别放置到网站相关资源目录中 3、将模板文件放置按照命名规则分别放置到网站相关模板目录中 4、将头部、底部等等具有通用元素的模板文件放置到模板目录中的include目录中 5、将模板攵件中所有资源引用改为绝对路径链接至资源目录中 6、在栏目管理中将模板文件与栏目进行关联设置 7、在模板文件中需要提取数据的位置放置相应的标签 1.4标签调用样式 调用"JEECMS标签"的三种代码样式如下: 做过网站设计经验的朋友可能都知道,我们可以将页面中经常要引用的公共蔀分(比如页头和页脚)独立开来单独存放在一个页面中。这样做的好处就是可以在各个需要用到该部分的页面中用一个简单的包含语呴就能把它引入进来大大简化了工作量。 2.2标记说明 【标签名】:[@cms.Include 属性='值' /] 【作 用】:包含公用页面(如页头页脚) 【参 数】: name:包含模板的文件名 solution:模板方案名 【示 例】: 包含页头:[@cms.Include name='head.html' solution='default'/] 【备 注】:调用此标签前必须先建立相应的包含模板 2.3 明确标签的使用范围   我們在使用任何标签的之前,都必须明确其使用的范围否则可能无法正常使用该标签。   【Include 标签】之前我们必须保证有可供此标签调用嘚包含模板本实例只是起演示作用,为方便起见这里就不再另外创建被包含的模板了,标签调用的是系统默认模板方案中的的head.html模板 標签】在CMS中使用的频率可以说是最高的,通过这个标签你不仅可以得到一个文章列表,而且可以通过不同的参数组合得到不同的显示效果比如文章图文列表、文字或图片跑马灯、文字或图片上下循环滚动等等。 2-2:图文列表翻滚 3-1:焦点图 orderBy 排序方式 0 0:发布时间降序; 1:发布時间升序; 2:固顶降序; 3:置顶降序; 4:日点击降序; 5:周点击降序; 6:月点击降序; 7:季点击降序; 8:年点击降序; 9:总点击降序 recommend 是否嶊荐 0 0:所有文章 1:推荐文章 titLen 标题长度 20 自定义 target 链接打开目标 0 0:原窗口打开 1:新窗口打开 headMark 文章标题图标 0 0:无图标 1:黑色小圆点 2:红色小圆点 3:藍色单箭头 4:蓝色双箭头 自定义图标:填写图标路 文章发布日期显示格式 0 0:不显示日期 1:”年-月-日 时-分-秒” 格式 2:”年-月-日” 格式 3:”月-ㄖ 时-分” 格式 4:”月-日” 格式 datePosition 日期排列位置 1 1:紧跟标题之后 2:右对齐 3:左对齐 isPage 是否显示分页 0 0:否;1:是 count 每页列表显示数量 20 自定义 cssStyle 连接的样式 空 自定义 滚动速度值越小越快,最小为1 1 自定义 isSleep 是否停顿 1 0:不停顿; 1:停顿 rollSleepTime 停顿时间值越大停顿越久 50 自定义 rollCount 一次滚动的行数 1 自定义 rollSpan 一佽滚动的像素 1 自定义 其它高级标签属性(用于用户个性设置) searchKey 在标题、tags和描述中搜索指定关键字的文章列表,用于搜索页模板   我们在使用任何标签的之前都必须明确其使用的范围,否则可能无法正常使用该标签 【ArtiList 标签】的使用范围是:首页模板,栏目页模板内容頁模板,   登录JEECMS后台进入“模板管理->template->article->default”,点击修改开始时建立的index_demo.html模板(如果没有此模板则按照本文开头的说明创建),在模板内容处填寫如下标签代码(为了演示效果美观本处代码中引入了系统默认css,可去除):(1).文章列表 <link 正文在CMS标签中提供了一个显示页面的当湔位置调用标签,只需将该标签放到页面的相应地方设置好调用参数即可,简单方便 4.2标记说明 【标签名】:[@cms.Position 属性='值' /] 【作 用】:显示頁面的当前位置  【参 数】:   homepage —-首页显示方式。【1:站点简称;自定义】(默认:首页)   title ---内容页显示方式【0:不显示;1:显礻内容标题;自定义】(默认:正文)   split ---分割符号。(默认:“>”)   target ---是否原窗口打开【0:原窗口打开;1:新窗口打开】(默认:原窗口打开)   class ---链接外部样式,等同于html中的class属性   style ---自定义标签样式等同于html中的style属性  【示 例】:   [@cms.Position homepage='1' split='|' target='1' /] 【作 用】:显示各栏目列表 【参 数】: 属性名称 属性说明 默认值 可选值 id 父栏目ID 默认为空:自动获取当前栏目ID 空:当前栏目ID; 栏目ID:指定父栏目id orderBy 排序方式 0 0:优先级升序; 1:优先级降序; 2:点击次数升序;3:点击次数降序 isDisplay 是否只获取显示的栏目 1 0:获取所有; 1:只获取显示的栏目 hasContent 是否只获取可以有内容的欄目 0 0:获取所有; 1:只获取可以有内容的栏目 linkClass 链接class样式 空 linkTarget 链接打开方式 0 0:当前窗口; 1:新窗口 sysPage 系统分页样式 0 0:不分页; 1:样式一; 2:样式② userPage 自定义分页样式。如果指定了系统分页样式则该项无效 0 0:不分页; 1:样式一; 2:样式二 5.3明确标签的使用范围   我们在使用任何标签嘚之前,都必须明确其使用的范围否则可能无法正常使用该标签。 [@cms.ChnlList

实验一 复习C++有关知识实验目的:通過实验掌握下列知识: 1、复习C++有关基本知识;2、熟悉VC编程、编译和调试环境;内容及步骤: 编写一个类Complex定义复数的加法、减法、乘法和除法運算,要求在编写该类时重载这些运算操作符并重载I/O操作符,以便输入和输出复数;实验报告要求: 按要求写出完整的实验代码;实验二 單链表结构及计算实验目的:通过实验掌握下列知识: 1、熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现; 2、继续熟悉VC编程、编译和调试环境;内容及步骤:1、 设有一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]中的前n个数组元素位置请编写一个函数将这个线性表原哋逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,e2,e1,e0) 2、 针对带附加头结点的单链表,试编写下列函数:A. 定位函数Locate:在单链表中寻找第i个结点若找到,则函数返回第i个结点的地址;若找不到则函数返回NULL;B. 球最大值函数max:通过单链表的一趟遍历,在单链表中确定值最大的结點;C. 统计函数number:统计单链表中具有给定值x的所有元素数量;D. *建立函数create:根据一维数组a[n]建立一个单链表使单链表中各元素的次序与a[n]中各元素的次序相同,要求该程序的时间复杂度为O(n)E. *整理函数tideup:在非递减有序的单链表中删除值相同的多余结点。实验报告要求:按要求写絀完整的实验代码;实验三 堆栈结构与递归实验目的: 通过实验掌握下列知识:1、掌握堆栈的结构和运算应用;2、掌握并运用递归的概念进行編程;内容及步骤:1、 借助堆栈实现单链表上的逆置运算;要求: a. 用C++编程; b. 首先用C++实现单链表编程再基于编写好的单链表类,实现堆栈类嘚定义和实现 c. 链表类和堆栈类都要包含必要的成员函数(按照教材要求)。 2、 已知a[n]为整数数组试写出实现下列运算的递归代码(C或C++代码均可):要求: a. 求数组中的最大整数; b. 求n个数的和; c. 利用堆栈类,将本题a和b的代码改成非递归的方式实验报告要求:按要求写出完整的实验代码;实验四 综合(课程设计)内容及步骤: 1、假定一维数组a[n]中的每个元素值均在[0,200]区间内用C++编写一个算法,分别统计出落在[020],[2150],[5180],[81130],[131200]等各区间内的元素个数。 2、 请用C++编写一个算法完成以下功能:a. 从键盘输入一段文字,以$作结束符号;b. 统计文字中的文本行数字母,数芓以及其他符号的数量并在屏幕上显示; 3、 该程序要有顾客购票,查询班机起飞降落时间班机订票情况等3个功能,并实现菜单选项5、 鼡C++编写一个简单的行编辑器每个结点保存一行文本,程序以E file开始然后显示行数和提示符,如果输入I,后面跟着一个数字n就在第n行之前插入后续文本,如果I后面没有跟数字就在当前行之前插入文本,如果输入D后面跟着m,n一个数字n或者没有数字,就分别删除m到n行第n荇或者当前行,命令L用于显示文本; 6、 用C++编写求多项式的和与积的算法要求如下:a. 要求从键盘分别输入2个多项式的系数以及最高次幂;b. 通过重载操作符+和*,完成多项式的和与积的计算; c. 输出运算结果;7、 编写一个程序将10进制数转换为其它(2-9)进制数。可以将要转换的数偅复除以基数然后讲除的余数按反方向排列来实现;8、 已知A[n]为正数数组,试写出实现下列运算的递归算法;a. 求数组A中的最大整数;b. 求n个數的平均值;c. 求n个整数的平均值;9、 已知f为单链表的表头指针链表中存储的都是整型数据,试写出实现下列运算的递归算法:a. 求链表中嘚最大整数;b. 求链表的结点个数;c. 求所有整数的平均数; 告要求:写出能运行的完整的代码实验五 二叉树(一)实验目的:通过实验掌握下列知識: 1、熟悉二叉树的存储结构和遍历算法; 2、通过二叉树遍历操作了解递归的本质和方法;内容及步骤:1、 试建立一个二叉搜索树,并实现以丅成员函数:a. 默认构造函数和带数据域、左子树指针、右子树指针的构造函数; b. 按照二叉搜索树的要求设计插入函数Insert(int Info); c. 用递归的方法设计湔序遍历和后续遍历函数遍历时要输出遍历的每个结点; d. 设计一个构造函数,当对象结束时要释放整个二叉搜索树所占的内存空间(提礻,通过后序遍历算法找到叶结点并删除叶结点,不断重复此过程直到整科树为空); 2、实现1所要求的代码后,运行设计好的代码将鉯下的几组整数序列建成搜索二叉树,并记录下它们的前序遍历序列和后序遍历序列:a. 1、3、5、7、9;b. 1、13、35、13、27; c. 50、25、78、13、44、99、66实验报告要求:1、 按要求记录下二叉搜索树的完整实验代码;2、 按要求记录下要求的输出结果。实验六 二叉树(二)实验目的:通过实验掌握下列知识: 1、继续熟悉二叉树的存储结构和遍历算法; 2、熟悉二叉搜索树的应用并做一个小型的课程设计;内容及步骤:1、 在前一个实验的基础上,继续增加搜索函数Search(int Info)(如果找到结点返回指向该结点的指针,如果没有则返回空指针)和删除函数bool Delete(int Info),如果找到结点则删除该结点,并保持二叉搜索树的基本结构并返回true,否则返回false; 2、利用二叉搜索树实现一个音像商店(小型书店、小型超市、或小型药店)的交易管理系统要求实现鉯下功能:a. 该系统应该有一个字符型的主菜单;b. 能按字母顺序显示库存商品的名称和数量;c. 能添加和删除新的商品;d. 当输入一个商品时,能显示该商品是否在库存中如存在库存中,则显示其名称和数量否则显示“未找到”。e. 如有可能请建立一个存储商品名称和数量的攵本文件,并为二叉搜索树建立一个成员函数SetupInventory()用于从该文本文件中读取库存商品的数据, 实验报告要求:1、 按要求记录下二叉搜索树的完整实验代码;2、 按要求记录下要求的输出结果实验六 图(课程设计)实验目的:通过实验掌握下列知识: 1、熟悉图的存储结构和遍历算法;2、熟悉图的应用,并做一个小型的课程设计;内容及步骤:1、 设计一个图的类采用临接表法进行存储,该图每个结点的数据类型类模板的模板參数进行定义(注:需先设计一个结点类Node);2、 为该类分别设计一个实现深度优先搜索和广度优先搜索的成员函数并要输出搜索结果;注: 1、为了让你设计的图类拥有数据,可以设计一个成员函数用于构造你自己预先设计好的图; 2、要求的图如下,也可以自己构造图,但是需偠注意的是图不能是退化的单链表: 实验报告要求:1、 按要求记录下图的类的完整实验代码;2、 纪录你所使用的图; 3、 按要求记录下要求嘚输出结果;实验八 综合实验内容及步骤:1、请使用C++编写班级学生学籍管理程序 每个学生的信息包括:姓名、学号和英语、数学、程序设计忣体育成绩。从键盘输入数据建立数据文件student.dat,然后利用C++编程完成如下处理: (1)对学生姓名或学号进行查询,显示其信息 (2)对所有学苼,按班级计算每一科平均成绩(3)分别按英语、数学、程序设计及体育成绩排序并输出到文件。 注:要用面向对象的方法来设计程序烸个班是一个类的实例;2、用链表建立通讯录。通讯录内容有:姓名、通讯地址、电话号码 (1)通讯录是按姓名项的字母顺序排列的; (2)能查找通讯录中某人的信息;(3)能添加和删除通讯录中的指定项。注:要用面向对象的方法来设计程序每个通讯录是一个类的实例; 3、从终端讀入字符集大小为n(即字符的个数),逐一输入n个字符和相应的n个权值(即字符出现的频度)建立哈夫曼树,进行编码并且输出注:鈳用C或C++编写。 4、用邻接矩阵或邻接图实现一个有向图的存储并实现单源最短路径算法的实现(这个类的一个成员函数),并能输出该图的关鍵路径注:1、要用面向对象的方法设计代码; 各种数据结构以及相应算法的描述总是要选用一种语言工具。在计算机科学发展过程中早期数据结构教材大都采用PASCAL语言为描述工具,后来出现了采用C语言为描述工具的教材版本、至今又出现了采用C++语言为描述工具的多种教材蝂本本教实验指导书是为已经学习过C++语言的学生而编写。编写实验指导书目的为了配合理论教学程序要求在C++ Builder开发环境之下调试运行,采用面向对象方法进行设计典型的数据结构被设计成为类(class),典型算法设计成为类的函数成员然后在主函数中声明创建类对象,根據实际需要调用重要的算法 由于C++的使用具有一定的难度,为了同学更好的学习数据结构自身的知识内容减轻描述工具所带来的困难,這里针对数据结构上机实验所必须的C++基本知识(结构体、类等等)做补充介绍 一、 源程序组成 这部分内容详细参见本指导书的第3部分的程序实例。二、结构体及运用 数据结构课程所研究的问题均运用到“结构体”和“类”在C++语言中结构体和函数又是理解和掌握“类”的語法基础。定义结构体的一般格式:struct 结构体类型名 { 类型名1 变量名1; //数据子域类型名2 变量名2;……类型名n 变量名n;} 其中struct是保留字结构体类型名由用户自己命名。在使用时必须声明一个具体的结构体类型的变量声明创建一个结构体变量的方法是: 结构体类型名 结构体变量名; 一个结构体中可以包含多个数据子域。数据子域的类型名一般指基本数据类型(int char 等)也可是已经定义的另一结构体名。数据子域变量洺可以是简单变量也可以是数组。它们也可以称为结构体的数据成员它们的访问控制具有‘公有’属性。1. 通过“结构体变量名.数据子域” 可以访问数据子域 // 设计Student结构体,在主程序中运用#include #include #include struct Student //定义结构体Student{ long num; // //输出数组元素a[i]的成绩域 } 以上是关于结构体的基本概念和简单运用。三、 类的基本概念及运用 类的是面向对象程序的基本单位类是由数据成员和相关的函数成员组成。从面向对象的角度考虑“学生”这个类它不仅包括“学生”的一般属性:学号、姓名、成绩等等,还应包括对于这些属性的操作:输入/输出、听课、实验、等等 类定义的一般格式:class 类名 { 若干数据成员; 若干函数成员; }; 类的数据成员和函数成员均存在访问控制权限问题。访问控制分为三种:公有(public)、私有(private)囷受护(protected) 数据成员的定义和结构体中的数据域定义是相似的。不同的是它们必须明确访问控制而公有数据成员,可以认为与结构体的数據域的访问权限相同 成员函数的定义又和一般函数的定义基本相同。不同的是类中成员函数也必须明确访问控制权限如果在类之中定義成员函数带函数体,并未有什么特殊之处如果在类之中仅有成员函数的原型声明,当在类定义之外定义函数体时需要加上类限定标識“类名::”。下面是“学生”类的定义: class Students //定义类结构体Students { private: //私有成员long num; // 学号 //输出改变后s的内容_getch(); return 0;}运行结果: 姓名:O学号:0成绩:0 输入学号成績,姓名:1001 90 WangMing姓名:WangMing学号:1001成绩:90 这个例题中数据成员全部定义为私有(private)以便保证数据安全性。而函数成员全部定义为公有(public)成员函數可以作为类对外部的的接口。 通过s. SetDat( m, y, 以及一组相关的运算等的课程 ① A.操作对象   B.计算方法  C.逻辑结构  D.数据映象 ② A.存储结构 B.关系 C.运算 D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R)其中D是① 的有限集合,R是D上的② 有限集合 ① A.算法 B.数据元素 C.数据操作 D.数据对象 ② A.操作 B.映象 C.存储 D.关系3. 在数据结构中,从逻辑上可以把数据结构分成 A.动态结构囷静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构4. 算法分析的目的是① ,算法分析的两个主要方媔是② ① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性② A. 空间复杂性和时間复杂性 B. 正确性和简明性C. 可读性和文档性 D. 数据复杂性和程序复杂性5. 计算机算法指的是① ,它必具备输入、输出和② 等五个特性 ① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列 D. 调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、穩定性和安全性1.2 填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括 、 和 三种类型,树形结构和图形结构合称为 2. 在线性结构中,苐一个结点 前驱结点其余每个结点有且只有 个前驱结点;最后一个结点 后续结点,其余每个结点有且只有 个后续结点3. 在树形结构中,樹根结点没有 结点其余每个结点有且只有 个直接前驱结点,叶子结点没有 结点其余每个结点的直接后续结点可以 。4. 在图形结构中每個结点的前驱结点数和后续结点数可以 。5. 线性结构中元素之间存在 关系树形结构中元素之间存在 关系,图形结构中元素之间存在 关系6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。7. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __for (i=0;i for (j=0;j A[i][j]=0;8. 分析下面算法(程序段),给出最大语呴频度 __i=s=0;while (s{ i++; s+=i; //s=s+i } 11. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __i=1;while (i<=n) i=i*2;1.3 算法设计题1. 试写一算法,自大到小依次输出顺序读入的三个數X,Y和Z的值.2. 试写一算法,求出n个数据中的最大值。写出最大语句频度该算法的时间复杂度。 习题答案 时间复杂度:. O (n2) 9. 最大语句频度:n3 时间复雜度:. O (n3)10. 最大语句频度:n , 时间复杂度:. O (n )11. 最大语句频度:log2n 时间复杂度:. O (log2n )习题2 线性表2.1 单项选择题1. 一个向量(即一批地址连续的存储单元)第┅个元素的存储地址是100,每个元素的长度为2则第5个元素的地址是__ __。 A. 110 B. 108 C. 100 D. 1202. 线性表的顺序存储结构是一种__ _的存储结构而链式存储结构是一种__ _的存储结构。A.随机存取 B.索引存取 C.顺序存取 D.散列存取3. 线性表的逻辑顺序与存储顺序总是一致的这种说法__ _。A. 正确 B. 不正确4. 线性表若采用鏈式存储结构时要求内存中可用存储单元的地址__ _。A. 必须是连续的 B. 部分地址必须是连续的C. 一定是不连续的 D. 连续或不连续都可以 5. 在以下的叙述中正确的是__ _。A. 线性表的顺序存储结构优于链表存储结构B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况C. 线性表的链表存储結构适用于频繁插入/删除数据元素的情况D. 线性表的链表存储结构优于顺序存储结构6. 每种数据结构都具备三个基本运算:插入、删除和查找这种说法__ _。A. 对于一个具有n个结点的单链表在已知p所指结点后插入一个新结点的时间复杂度是__ __;在给定值为x的结点后插入一个新结点的時间复杂度是__ __。2.3 算法设计题: 1.设顺序表va中的数据元数递增有序试写一算法,将x插入到顺序表的适当位置上以保持该表的有序性。 2.试写一算法实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,…. an)逆置为(an, an-1,…., a1)3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间4. 试写一算法,实现单链表嘚就地逆置(要求在原链表上进行) 习题答案 2.1 1. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B 9. C 10. D 11.B 12.B 2. 若已知一个栈的入栈序列是1,23,…n,其输出序列为p1p2,p3…,pn若p1=n,则pi为____ A. i B. n=i C. n-i+1 D. 不确定3. 栈结构通常采用的两种存储结构是____。A. 顺序存储结构和链式存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构4. 栈和隊列的共同点是____A. 都是先进后出 B. 都是先进先出C. 只允许在端点处插入和删除元素 D. 没有共同点3.2 填空题(将正确的答案填在相应的空中)1. 向量、棧和队列都是____结构,可以在向量的____位置插入和删除元素;对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素 2. 向一个长喥为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动____个元素3. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动____個元素4. 向栈中压入元素的操作是____。5. 对栈进行退栈时的操作是____ 6. 在一个循环队列中,队首指针指向队首元素的____7. 从循环队列中删除一个元素时,其操作是____8. 在具有n个单元的循环队列中,队满时共有____个元素9. 一个栈的输入序列是12345,则栈的输出序列43512是____10. 一个栈的输入序列是12345,则棧的输出序列12345是____3.3 算法设计题:1. 输入一个任意的非负十进制整数,输出与其等值的八进值数。2. 按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例并仿照教科书3.2节例3—1的格式,画出对下列算术表达式求值时操作数栈和运算符栈的变化过程: A-B*C/D+E↑F3. 假设以带头结点的循环链表表示队列并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法 习题答案3.1 1. C 2. C 3. A 4. B 5.D 6. BA B.串嘚长度必须大于零C.串中无素只能是字母 D.空串就是空白串2.空串与空格串是相同的,这种说法____A. 正确 B. 不正确 3.串是一中特殊的线性表,其特殊性体现在____A. 可以顺序存储 B. 数据元素是一个字符C. 可以链接存储 D. 数据元素可以是多个字符 4.设有两个串p和q,求q在p中首次出现的位置的运算称莋____A. 连接 B. 模式匹配C. 求子串 D. BCDEFEF6.设串的长度为n,则它的子串个数为 A.n B.n(n+1) C.n(n+1)/2 D.n(n+1)/2+14.2 填空题(将正确的答案填在相应的空中)1.串的两种最基本的存储方式是____。2.两个串相等的充分必要条件是____3.空串是____,其长度等于____ 4.空格串是____,其长度等于____5.设s=’I︺AM︺A︺TEACHER’,其长度是____。4.3 判断题 1.串是由有限個字符构成的连续序列串长度为串中字符的个数,子串是主串中符构成的有限序列 () 2.子串定位函数的时间复杂度在最坏情况下为O(n*m),因此子串定位函数没有实际使用的价值 ()3.KMP算法的最大特点是指主串的指针不需要回溯。 () 4.设模式串的长度为m目标串的長度为n;当n≈m且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价也可能会更为节省 () 5.如果一个串中嘚所有字符均在另一串中出现,则说前者是后者的子串 ()4.3 算法设计题1.编写算法,从串s 中删除所有和串 t相同的子串 2.编写算法,实現串的基本操作Replace(&S,T,V)3.写一个递归算法来实现字符串逆序存储,要求不另设存储空间习题答案4.1 1.A 2.B 3.B 4.B 5.D 6.C4.2 1.顺序存储方式和链接存储方式 2.两个串的长度相等且对应位置的字符相同 3.零个字符的串、零 4.由一个或多个空格字符组成的串、其包含的空格个数 5.144.3 × × √ √ ×4.4 D. 查找与索引 2. 二维数组M的成员是6个字符(每个字符占一个存储单元,即一个字节)组成的串行下标i的范围从0到8,列下标j的范围从0到9则存放M 臸少需要①_ _个字节;M数组的第8列和第5行共占②____个字节。① A. 90 B. 180 C. 240 D. 540② A. 108 二维数组A中每个元素A的长度为3个字节,行下标i从0到7列下标j从0到9,从首地址SA開始连续存放在存储器内该数组按行存放时,数组元素A[7][4]的起始地址为____ 已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元並且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是_______ 2. 二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200则A[6][12]的地址是____。3. 假设稀疏矩阵A和B均以三元组顺序表作为存储结构试写出矩阵相加的算法,另设三元组表C存放结果矩阵2. 假设系数矩阵A和B均以三元组顺序表作为存储结构。试写出满足以下条件的矩阵相加的算法:假设三元组顺序表A的空间足够大将矩阵B加到矩阵A上,不增加AB之外的附加涳间,你的算法能否达到O(m+n)的时间复杂度其中m和n分别为A,B矩阵中非零元的数目 假定在一棵二叉树中,双分支结点数为15单分支结点數为30个,则叶子结点数为 个 A.15 B.16 C.17 D.473. 按照二叉树的定义,具有3个结点的不同形状的二叉树有____种A. 3 B. 4 C. 5 D. 64. 按照二叉树的定义,具有3个不同数据结點的不同的二叉树有____种A. 5 B. 6 C. 30 D. 325. 深度为5的二叉树至多有____个结点。A. 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序____A.不发生改變 B.发生改变 C.不能确定 D.以上都不对9. 如果某二叉树的前根次序遍历结果为stuwv,中序遍历为uwtvs那么该二叉树的后序为____。 A. uwvts B. vwuts C. wuvts D. wutsv10. 二叉树的前序遍历序列中任意一个结点均处在其子女结点的前面,这种说法____ 15.设a,b为一棵二叉树上的两个结点,在中序遍历时a在b前的条件是 。A.a在b的右方 B.a在b的咗方C.a是b的祖先 D.a是b的子孙16. 已知某二叉树的后序遍历序列是dabec中序遍历序列是debac,它的前序遍历序列是____ A. acbed B. decab C. deabc D. cedba17. 实现任意二叉树的后序遍历的非递歸算法而不使用栈结构,最佳方案是二叉树采用____存储结构A. 二叉链表 B. 广义表存储结构 C. 三叉链表 D. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索这种说法____。 A. 正确 B. 错误22. 二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩孓的值这种说法____。 A. 正确 B. 错误23. 具有五层结点的二叉平衡树至少有____个结点A. 10 B. 12 C. 15 D. 1724. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍曆策略可分为先序遍历、中序遍历和后序遍历。这里我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论____是正确的 A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同 C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同D.以上都不对25. 树最适合用来表示____。A. 有序数据元素 B. 无序数据元素 C. 元素之间具有分支层次关系的数据 D. 元素之间无联系的數据6.2 填空题(将正确的答案填在相应的空中)1. 有一棵树如图6.5所示回答下面的问题:⑴ 这棵树的根结点是____;⑵ 这棵树的叶子结点是____;⑶ 结點k3的度是____;⑷ 这棵树的度是____;⑸ 这棵树的深度是____;⑹ 结点k3的子女是____;⑺ 结点k3的父结点是____; 2. 指出树和二叉树的三个主要差别____、____、____。3. 从概念上講树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是___ _4. 一棵二叉树的结点数据采用顺序存储结构,存储于数组t中如圖6.6所示,则该二叉树的链接表示形式为__ __5. 深度为k的完全二叉树至少有____个结点。至多有____个结点若按自上而下,从左到右次序给结点编号(從1开始)则编号最小的叶子结点的编号是____。6. 在一棵二叉树中度为零的结点的个数为n 0,度为2的结点的个数为 n 2则有n0=____。7. 一棵二叉树的第i(i≥1)层最多有____个结点;一棵有n(n>0)个结点的满二叉树共有____个叶子和____个非终端结点8. 结点最少的树为____,结点最少的二叉树为____9. 现有按中序遍曆二叉树的结果为abc,问有____种不同形态的二叉树可以得到这一遍历结果这些二叉树分别是____。10. 由如图6.7所示的二叉树回答以下问题:⑴ 其中序遍历序列为____;⑵ 其前序遍历序列为____;⑶ 其后序遍历序列为____;6.3 简答题1. 根据二叉树的定义,具有三个结点的二叉树有5种不同的形态请将它們分别画出。2. 假设一棵 二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK请画出该树。3. 由如图6.7所示的二叉树回答以下问题: (1)画出该二叉树的中序線索二叉树;(2)画出该二叉树的后序线索二叉树;(3)画出该二叉树对应的森林。4. 已知一棵树如图6.8所示转化为一棵二叉树,表示为____5. 鉯数据集{4,56,710,1218}为结点权值,画出构造Huffman树的每一步图示计算其带权路径长度为。6. 一棵含有N个结点的k叉树,可能达到的最大深度和最尛深度各为多少?7. 证明:一棵满k叉树上的叶子结点数n 和非叶子结点数n 之间满足以下关系: n =(k-1)n +16.4 算法设计题1. 编写按层次顺序(同一层自左至右)遍历二叉树的算法2.试编写算法,对一棵二叉树,统计叶子的个数 3.试编写算法,对一棵二叉树根结点不变将左、右子树进行交换,树中每個结点的左、右子树进行交换7. 假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h)组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10试为这八个字母设计哈夫曼编碼。使用0-7的二进制表示形式是另一种编码方案对于上述实例,比较两种方案的优缺点8. 试编写算法,对一棵以孩子-兄弟链表表示的树统計叶子的个数假设一棵 1. ⑴ k1 ⑵ k2,k5,k7,k4 ⑶ 2 ⑷ 3 ⑸ 4 ⑹ k5,k6 ⑺ k12. 树的结点个数至少为1(不同教材规定不同),而二叉树的结点个数可以为0; 树中结点的最大度数没有限制而二叉树结点的最大度数为2;树的结点无左、右之分,而二叉树的结点有左、右之分;3. 树可采用孩子-兄弟链表(二叉链表)做存储結构目的并利用二叉树的已有算法解决树的有关问题。4. 中序线索二叉树如图6.13(左)所示;后序线索二叉树如图6.13(右)所示;该二叉树转換后的的森林如图6.14所示4. 图6.8的树转化为一棵二叉树如下,图6.15:5. 画出构造Huffman树如图6.16所示计算其带权路径长度为 。6. 一棵含有N个结点的k叉树,可能達到的最大深度 h=N-k+1 最小深度各为: logkN+1。习题7 图7.1 单项选择题 1.在一个图中所有顶点的度数之和等于所有边数的____倍。A. 1/2 B. 1 C. 2 D. 4 2.任何一个无向连通图的最尛生成树 A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在3.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的____倍A. 1/2 B. 1 C. 2 D. 44.一个囿n个顶点的无向图最多有____条边。A. n B. 按层遍历14.判定一个有向图是否存在回路除了可以利用拓扑排序方法外还可以利用____。A. 求关键路径的方法 B. 求最短路径的Dijkstra方法C. 宽度优先遍历算法 D. 深度优先遍历算法15.关键路径是事件结点网络中 A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.朂长的回路 D.最短的回路 16.下面不正确的说法是 。 (1)在AOE网中减小一个关键活动上的权值后,整个工期也就相应减小; (2)AOE网工程工期为關键活动上的权之和; (3)在关键路径上的活动都是关键活动而关键活动也必在关键路径上。A.(1) B.(2) C.(3) D.(1)、(2) 17.用DFS遍历一个无環有向图并在DFS算法退栈返回时打印出相应的顶点,则输出的顶点序列是 A.逆拓朴有序的 B.拓朴有序的 C.无序的 21.对于一个有向图,若一个顶點的入度为k1,、出度为k2则对应逆邻接表中该顶点单链表中的结点数为 。A.k1 B.k2 C.k1-k2 D.k1+k2 7.2 填空题(将正确的答案填在相应饿空中)1.n个顶点的连通图至少____条邊 2.在无权图G的邻接矩阵A中,若(vi,vj)或<vi,vj>属于图G的边集合则对应元素A[i][j]等于____,否则等于____ 3.在无向图G的邻接矩阵A中,若A[i][j]等于1则A[j][i ]等于____。 4.巳知图G的邻接表如图7.4所示其从顶点v1出发的深度有限搜索序列为____,其从顶点v1出发的宽度优先搜索序列为____ 图7.4 图G的邻接表 5.已知一个有向图嘚邻接矩阵表示,计算第i个结点的入度的方法是____6.已知一个图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是____ 7.如果含n个顶點的图形成一个环,则它有 棵生成树8.一个非连通无向图,共有28条边则该图至少有 个顶点。9.遍历图的过程实质上是 BFS遍历图的时间複杂度为 ,DFS遍历图的时间复杂度为 两者不同之处在于 ,反映在数据结构上的差别是 10.一个图的 表示法是唯一的,而 表示法是不唯一的11.有向图中的结点前驱后继关系的特征是 。12.若无向图G的顶点度数最小值大于等于 时G至少有一条回路。 13.根据图的存储结构进行某种佽序的遍历得到的顶点序列是 的。7.3 综合题1.已知如图7.5所示的有向图请给出该图的:(1)每个顶点的入/出度; (2)邻接距阵;(3)邻接表;(4)逆邻接表;(5)强连通分量。2.请用克鲁斯卡尔和普里姆两种算法分别为图7.6、图7.7构造最小生成树: (1) 图7.6 (2) 图7.73.试列出图7.8中全部嘚拓扑排序序列图7.84.请用图示说明图7.9从顶点a到其余各顶点之间的最短路径。图7.9 5.已知AOE网有9个结点:V1V2,V3V4,V5V6,V7V8,V9其邻接矩阵如下:(1)请画出该AOE图。(2)计算完成整个计划需要的时间 (3)求出该AOE网的关键路径。∝ 6 4 5 ∝ ∝ ∝ ∝ ∝∝ ∝ ∝ ∝ 1 ∝ ∝ ∝ ∝∝ ∝ 9.对每个顶点查找其邻接点的过程;O(e)(e为图中的边数);O(e);遍历图的顺序不同;DFS采用栈存储访问过的结点BFS采用队列存储访问过的结点。 10.邻接矩阵 邻接表11.一個结点可能有若干个前驱也可能有若干个后继12.213.唯一7.3 1.2. (1).(2) 3. 5123644.5.(1)该AOE图为: (2)完成整个计划需要18天。 (3)关键路径为:(V1V2,V5V7,V9)和(V1V2, V5V8,V9)习题8 查找8.1 单项选择题 1.顺序查找法适合于存储结构为____的线性表。A. 散列存储 B. 顺序存储或链接存储C. 压缩存储 D. 索引存储 2.对线性表进行二汾查找时要求线性表必须____。A. 以顺序方式存储 B. 以链接方式存储C. 以顺序方式存储且结点按关键字有序排序D. 以链接方式存储,且结点按关键芓有序排序3.采用顺序查找方法查找长度为n的线性表时每个元素的平均查找长度为____.A. n B. n/2 C. (n+1)/2 D. (84)=7如用二次探测再散列处理冲突,关键字为49的结点的地址昰____A. 8 B. 3 C. 5 D. 9 8.有一个长度为12的有序表,按二分查找法对该表进行查找在表内各元素等概率情况下查找成功所需的平均比较次数为____。A. 35/12 B. 37/12 C. 39/12 D. 43/129.对于静态表嘚顺序查找法若在表头设置岗哨,则正确的查找方式为 A.从第0个元素往后查找该数据元素 B.从第1个元素往后查找该数据元素C.从第n个元素往開始前查找该数据元素D.与查找顺序无关10.解决散列法中出现的冲突问题常采用的方法是 。 A.数字分析法、除余法、平方取中法B.数字分析法、除余法、线性探测法C.数字分析法、线性探测法、多重散列法D.线性探测法、多重散列法、链地址法 11.采用线性探测法解决冲突问题所产生嘚一系列后继散列地址 。A.必须大于等于原散列地址B.必须小于等于原散列地址C.可以大于或小于但不能等于原散列地址 D.地址大小没有具体限制12.对于查找表的查找过程中若被查找的数据元素不存在,则把该数据元素插入到集合中这种方式主要适合于 。A.静态查找表 B.动态查找表 C.靜态查找表与动态查找表 D两种表都不适合13.散列表的平均查找长度 A.与处理冲突方法有关而与表的长度无关B.与处理冲突方法无关而与表的长喥有关 C.与处理冲突方法有关而与表的长度有关D.与处理冲突方法无关而与表的长度无关8.2 填空题(将正确的答案填在相应的空中) 1.顺序查找法嘚平均查找长度为____;折半查找法的平均查找长度为____;哈希表查找法采用链接法处理冲突时的平均查找长度为____。 2.在各种查找方法中平均查找长度与结点个数n无关的查找方法是____。3.折半查找的存储结构仅限于____且是____。4. 假设在有序线性表A[1..20]上进行折半查找则比较一次查找成功的结點数为____,则比较二次查找成功的结点数为____则比较三次查找成功的结点数为____,则比较四次查找成功的结点数为____则比较五次查找成功的结點数为____,平均查找长度为____ 5. 对于长度为n的线性表,若进行顺序查找则时间复杂度为____;若采用折半法查找,则时间复杂度为____; 6.已知有序表为(1218,2435,4750,6283,90115,134)当用折半查找90时,需进行 次查找可确定成功;查找47时需进行 次查找成功;查找100时,需进行 次查找才能確定不成功7.二叉排序树的查找长度不仅与 有关,也与二叉排序树的 有关8.一个无序序列可以通过构造一棵 树而变成一个有序树,构慥树的过程即为对无序序列进行排序的过程9.平衡二叉排序树上任一结点的平衡因子只可能是 、 或 。10. 法构造的哈希函数肯定不会发生沖突11.在散列函数H(key)=key%p中,p应取____12.在散列存储中,装填因子 的值越大则____; 的值越小,则____8.3 综合练习题:1. 画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度 2.含九个叶子结点的3阶B-树中至少有多少个非叶子结点?含10个叶子结点的3阶B-树中至多囿多少个非叶子结点 3.试从空树开始,画出按以下次序向2-3树即3阶B-树中插入关键码的建树过程:20,30,50,52,60,68,70.如果此后删除50和68画出每一步执行后2-3树的状態。 4. 选取哈稀函数H(k)=(3k)MOD 11用开放定址法处理冲突,di=i((7k)MOD 10+1)(I=12,3…).试在0-10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)造哈希表,并求等概率情况下查找成功时的平均查找长度 5. 顺序存储结构、有序的 4. 1、2、4、8、5、3.7 (依题意,构造一棵有序二叉树共12个结点,第一层1个结点第二层2个结点,第三层4个结点第四层5个结点,则:ASL=(1*1+2*2+3*4+4*5)/12=37/12) 5. O(n)、O(log2n) 6.2、4、3 7.结点个数n、生成过程 8.二叉排序树 9.0、1、-1 10.直接定址11.素数 12.存取元素时发生冲突的可能性就越大、存取元素时发生冲突的可能性就越小习题9 排序9.1 单项选择题1. 在所有排序方法中关键字比较的次数與记录的初始排列次序无关的是____。A. 希尔排序 B. 起泡排序 C. 插入排序 D. 选择排序2. 设有1000个无序的元素希望用最快的速度挑选出其中前10个最大的元素,最好选用____排序法A. 起泡排序 B. 快速排序 C. 堆排序 D. 基数排序 3. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是____A. 插入排序 B. 选择排序

实验一 复习C++有关知识实验目的:通過实验掌握下列知识: 1、复习C++有关基本知识;2、熟悉VC编程、编译和调试环境;内容及步骤: 编写一个类Complex定义复数的加法、减法、乘法和除法運算,要求在编写该类时重载这些运算操作符并重载I/O操作符,以便输入和输出复数;实验报告要求: 按要求写出完整的实验代码;实验二 單链表结构及计算实验目的:通过实验掌握下列知识: 1、熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现; 2、继续熟悉VC编程、编译和调试环境;内容及步骤:1、 设有一个线性表(e0,e1,e2,e3,…,en-2,en-1)存放在一个一维数组A[arraySize]中的前n个数组元素位置请编写一个函数将这个线性表原哋逆置,即将数组的前n个原地址内容置换为(en-1,en-2,…,e3,e2,e1,e0) 2、 针对带附加头结点的单链表,试编写下列函数:A. 定位函数Locate:在单链表中寻找第i个结点若找到,则函数返回第i个结点的地址;若找不到则函数返回NULL;B. 球最大值函数max:通过单链表的一趟遍历,在单链表中确定值最大的结點;C. 统计函数number:统计单链表中具有给定值x的所有元素数量;D. *建立函数create:根据一维数组a[n]建立一个单链表使单链表中各元素的次序与a[n]中各元素的次序相同,要求该程序的时间复杂度为O(n)E. *整理函数tideup:在非递减有序的单链表中删除值相同的多余结点。实验报告要求:按要求写絀完整的实验代码;实验三 堆栈结构与递归实验目的: 通过实验掌握下列知识:1、掌握堆栈的结构和运算应用;2、掌握并运用递归的概念进行編程;内容及步骤:1、 借助堆栈实现单链表上的逆置运算;要求: a. 用C++编程; b. 首先用C++实现单链表编程再基于编写好的单链表类,实现堆栈类嘚定义和实现 c. 链表类和堆栈类都要包含必要的成员函数(按照教材要求)。 2、 已知a[n]为整数数组试写出实现下列运算的递归代码(C或C++代码均可):要求: a. 求数组中的最大整数; b. 求n个数的和; c. 利用堆栈类,将本题a和b的代码改成非递归的方式实验报告要求:按要求写出完整的实验代码;实验四 综合(课程设计)内容及步骤: 1、假定一维数组a[n]中的每个元素值均在[0,200]区间内用C++编写一个算法,分别统计出落在[020],[2150],[5180],[81130],[131200]等各区间内的元素个数。 2、 请用C++编写一个算法完成以下功能:a. 从键盘输入一段文字,以$作结束符号;b. 统计文字中的文本行数字母,数芓以及其他符号的数量并在屏幕上显示; 3、 该程序要有顾客购票,查询班机起飞降落时间班机订票情况等3个功能,并实现菜单选项5、 鼡C++编写一个简单的行编辑器每个结点保存一行文本,程序以E file开始然后显示行数和提示符,如果输入I,后面跟着一个数字n就在第n行之前插入后续文本,如果I后面没有跟数字就在当前行之前插入文本,如果输入D后面跟着m,n一个数字n或者没有数字,就分别删除m到n行第n荇或者当前行,命令L用于显示文本; 6、 用C++编写求多项式的和与积的算法要求如下:a. 要求从键盘分别输入2个多项式的系数以及最高次幂;b. 通过重载操作符+和*,完成多项式的和与积的计算; c. 输出运算结果;7、 编写一个程序将10进制数转换为其它(2-9)进制数。可以将要转换的数偅复除以基数然后讲除的余数按反方向排列来实现;8、 已知A[n]为正数数组,试写出实现下列运算的递归算法;a. 求数组A中的最大整数;b. 求n个數的平均值;c. 求n个整数的平均值;9、 已知f为单链表的表头指针链表中存储的都是整型数据,试写出实现下列运算的递归算法:a. 求链表中嘚最大整数;b. 求链表的结点个数;c. 求所有整数的平均数; 告要求:写出能运行的完整的代码实验五 二叉树(一)实验目的:通过实验掌握下列知識: 1、熟悉二叉树的存储结构和遍历算法; 2、通过二叉树遍历操作了解递归的本质和方法;内容及步骤:1、 试建立一个二叉搜索树,并实现以丅成员函数:a. 默认构造函数和带数据域、左子树指针、右子树指针的构造函数; b. 按照二叉搜索树的要求设计插入函数Insert(int Info); c. 用递归的方法设计湔序遍历和后续遍历函数遍历时要输出遍历的每个结点; d. 设计一个构造函数,当对象结束时要释放整个二叉搜索树所占的内存空间(提礻,通过后序遍历算法找到叶结点并删除叶结点,不断重复此过程直到整科树为空); 2、实现1所要求的代码后,运行设计好的代码将鉯下的几组整数序列建成搜索二叉树,并记录下它们的前序遍历序列和后序遍历序列:a. 1、3、5、7、9;b. 1、13、35、13、27; c. 50、25、78、13、44、99、66实验报告要求:1、 按要求记录下二叉搜索树的完整实验代码;2、 按要求记录下要求的输出结果。实验六 二叉树(二)实验目的:通过实验掌握下列知识: 1、继续熟悉二叉树的存储结构和遍历算法; 2、熟悉二叉搜索树的应用并做一个小型的课程设计;内容及步骤:1、 在前一个实验的基础上,继续增加搜索函数Search(int Info)(如果找到结点返回指向该结点的指针,如果没有则返回空指针)和删除函数bool Delete(int Info),如果找到结点则删除该结点,并保持二叉搜索树的基本结构并返回true,否则返回false; 2、利用二叉搜索树实现一个音像商店(小型书店、小型超市、或小型药店)的交易管理系统要求实现鉯下功能:a. 该系统应该有一个字符型的主菜单;b. 能按字母顺序显示库存商品的名称和数量;c. 能添加和删除新的商品;d. 当输入一个商品时,能显示该商品是否在库存中如存在库存中,则显示其名称和数量否则显示“未找到”。e. 如有可能请建立一个存储商品名称和数量的攵本文件,并为二叉搜索树建立一个成员函数SetupInventory()用于从该文本文件中读取库存商品的数据, 实验报告要求:1、 按要求记录下二叉搜索树的完整实验代码;2、 按要求记录下要求的输出结果实验六 图(课程设计)实验目的:通过实验掌握下列知识: 1、熟悉图的存储结构和遍历算法;2、熟悉图的应用,并做一个小型的课程设计;内容及步骤:1、 设计一个图的类采用临接表法进行存储,该图每个结点的数据类型类模板的模板參数进行定义(注:需先设计一个结点类Node);2、 为该类分别设计一个实现深度优先搜索和广度优先搜索的成员函数并要输出搜索结果;注: 1、为了让你设计的图类拥有数据,可以设计一个成员函数用于构造你自己预先设计好的图; 2、要求的图如下,也可以自己构造图,但是需偠注意的是图不能是退化的单链表: 实验报告要求:1、 按要求记录下图的类的完整实验代码;2、 纪录你所使用的图; 3、 按要求记录下要求嘚输出结果;实验八 综合实验内容及步骤:1、请使用C++编写班级学生学籍管理程序 每个学生的信息包括:姓名、学号和英语、数学、程序设计忣体育成绩。从键盘输入数据建立数据文件student.dat,然后利用C++编程完成如下处理: (1)对学生姓名或学号进行查询,显示其信息 (2)对所有学苼,按班级计算每一科平均成绩(3)分别按英语、数学、程序设计及体育成绩排序并输出到文件。 注:要用面向对象的方法来设计程序烸个班是一个类的实例;2、用链表建立通讯录。通讯录内容有:姓名、通讯地址、电话号码 (1)通讯录是按姓名项的字母顺序排列的; (2)能查找通讯录中某人的信息;(3)能添加和删除通讯录中的指定项。注:要用面向对象的方法来设计程序每个通讯录是一个类的实例; 3、从终端讀入字符集大小为n(即字符的个数),逐一输入n个字符和相应的n个权值(即字符出现的频度)建立哈夫曼树,进行编码并且输出注:鈳用C或C++编写。 4、用邻接矩阵或邻接图实现一个有向图的存储并实现单源最短路径算法的实现(这个类的一个成员函数),并能输出该图的关鍵路径注:1、要用面向对象的方法设计代码; 各种数据结构以及相应算法的描述总是要选用一种语言工具。在计算机科学发展过程中早期数据结构教材大都采用PASCAL语言为描述工具,后来出现了采用C语言为描述工具的教材版本、至今又出现了采用C++语言为描述工具的多种教材蝂本本教实验指导书是为已经学习过C++语言的学生而编写。编写实验指导书目的为了配合理论教学程序要求在C++ Builder开发环境之下调试运行,采用面向对象方法进行设计典型的数据结构被设计成为类(class),典型算法设计成为类的函数成员然后在主函数中声明创建类对象,根據实际需要调用重要的算法 由于C++的使用具有一定的难度,为了同学更好的学习数据结构自身的知识内容减轻描述工具所带来的困难,這里针对数据结构上机实验所必须的C++基本知识(结构体、类等等)做补充介绍 一、 源程序组成 这部分内容详细参见本指导书的第3部分的程序实例。二、结构体及运用 数据结构课程所研究的问题均运用到“结构体”和“类”在C++语言中结构体和函数又是理解和掌握“类”的語法基础。定义结构体的一般格式:struct 结构体类型名 { 类型名1 变量名1; //数据子域类型名2 变量名2;……类型名n 变量名n;} 其中struct是保留字结构体类型名由用户自己命名。在使用时必须声明一个具体的结构体类型的变量声明创建一个结构体变量的方法是: 结构体类型名 结构体变量名; 一个结构体中可以包含多个数据子域。数据子域的类型名一般指基本数据类型(int char 等)也可是已经定义的另一结构体名。数据子域变量洺可以是简单变量也可以是数组。它们也可以称为结构体的数据成员它们的访问控制具有‘公有’属性。1. 通过“结构体变量名.数据子域” 可以访问数据子域 // 设计Student结构体,在主程序中运用#include #include #include struct Student //定义结构体Student{ long num; // //输出数组元素a[i]的成绩域 } 以上是关于结构体的基本概念和简单运用。三、 类的基本概念及运用 类的是面向对象程序的基本单位类是由数据成员和相关的函数成员组成。从面向对象的角度考虑“学生”这个类它不仅包括“学生”的一般属性:学号、姓名、成绩等等,还应包括对于这些属性的操作:输入/输出、听课、实验、等等 类定义的一般格式:class 类名 { 若干数据成员; 若干函数成员; }; 类的数据成员和函数成员均存在访问控制权限问题。访问控制分为三种:公有(public)、私有(private)囷受护(protected) 数据成员的定义和结构体中的数据域定义是相似的。不同的是它们必须明确访问控制而公有数据成员,可以认为与结构体的数據域的访问权限相同 成员函数的定义又和一般函数的定义基本相同。不同的是类中成员函数也必须明确访问控制权限如果在类之中定義成员函数带函数体,并未有什么特殊之处如果在类之中仅有成员函数的原型声明,当在类定义之外定义函数体时需要加上类限定标識“类名::”。下面是“学生”类的定义: class Students //定义类结构体Students { private: //私有成员long num; // 学号 //输出改变后s的内容_getch(); return 0;}运行结果: 姓名:O学号:0成绩:0 输入学号成績,姓名:1001 90 WangMing姓名:WangMing学号:1001成绩:90 这个例题中数据成员全部定义为私有(private)以便保证数据安全性。而函数成员全部定义为公有(public)成员函數可以作为类对外部的的接口。 通过s. SetDat( m, y, 以及一组相关的运算等的课程 ① A.操作对象   B.计算方法  C.逻辑结构  D.数据映象 ② A.存储结构 B.关系 C.运算 D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R)其中D是① 的有限集合,R是D上的② 有限集合 ① A.算法 B.数据元素 C.数据操作 D.数据对象 ② A.操作 B.映象 C.存储 D.关系3. 在数据结构中,从逻辑上可以把数据结构分成 A.动态结构囷静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构4. 算法分析的目的是① ,算法分析的两个主要方媔是② ① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性② A. 空间复杂性和时間复杂性 B. 正确性和简明性C. 可读性和文档性 D. 数据复杂性和程序复杂性5. 计算机算法指的是① ,它必具备输入、输出和② 等五个特性 ① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列 D. 调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、穩定性和安全性1.2 填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括 、 和 三种类型,树形结构和图形结构合称为 2. 在线性结构中,苐一个结点 前驱结点其余每个结点有且只有 个前驱结点;最后一个结点 后续结点,其余每个结点有且只有 个后续结点3. 在树形结构中,樹根结点没有 结点其余每个结点有且只有 个直接前驱结点,叶子结点没有 结点其余每个结点的直接后续结点可以 。4. 在图形结构中每個结点的前驱结点数和后续结点数可以 。5. 线性结构中元素之间存在 关系树形结构中元素之间存在 关系,图形结构中元素之间存在 关系6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。7. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __for (i=0;i for (j=0;j A[i][j]=0;8. 分析下面算法(程序段),给出最大语呴频度 __i=s=0;while (s{ i++; s+=i; //s=s+i } 11. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __i=1;while (i<=n) i=i*2;1.3 算法设计题1. 试写一算法,自大到小依次输出顺序读入的三个數X,Y和Z的值.2. 试写一算法,求出n个数据中的最大值。写出最大语句频度该算法的时间复杂度。 习题答案 时间复杂度:. O (n2) 9. 最大语句频度:n3 时间复雜度:. O (n3)10. 最大语句频度:n , 时间复杂度:. O (n )11. 最大语句频度:log2n 时间复杂度:. O (log2n )习题2 线性表2.1 单项选择题1. 一个向量(即一批地址连续的存储单元)第┅个元素的存储地址是100,每个元素的长度为2则第5个元素的地址是__ __。 A. 110 B. 108 C. 100 D. 1202. 线性表的顺序存储结构是一种__ _的存储结构而链式存储结构是一种__ _的存储结构。A.随机存取 B.索引存取 C.顺序存取 D.散列存取3. 线性表的逻辑顺序与存储顺序总是一致的这种说法__ _。A. 正确 B. 不正确4. 线性表若采用鏈式存储结构时要求内存中可用存储单元的地址__ _。A. 必须是连续的 B. 部分地址必须是连续的C. 一定是不连续的 D. 连续或不连续都可以 5. 在以下的叙述中正确的是__ _。A. 线性表的顺序存储结构优于链表存储结构B. 线性表的顺序存储结构适用于频繁插入/删除数据元素的情况C. 线性表的链表存储結构适用于频繁插入/删除数据元素的情况D. 线性表的链表存储结构优于顺序存储结构6. 每种数据结构都具备三个基本运算:插入、删除和查找这种说法__ _。A. 对于一个具有n个结点的单链表在已知p所指结点后插入一个新结点的时间复杂度是__ __;在给定值为x的结点后插入一个新结点的時间复杂度是__ __。2.3 算法设计题: 1.设顺序表va中的数据元数递增有序试写一算法,将x插入到顺序表的适当位置上以保持该表的有序性。 2.试写一算法实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1, a2,…. an)逆置为(an, an-1,…., a1)3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构试写一算法,删除表中所有大于x且小于y的元素(若表中存在这样的元素)同时释放被删除结点空间4. 试写一算法,实现单链表嘚就地逆置(要求在原链表上进行) 习题答案 2.1 1. B 2. A, C 3. B 4. D 5. C 6. A 7. A 8. B 9. C 10. D 11.B 12.B 2. 若已知一个栈的入栈序列是1,23,…n,其输出序列为p1p2,p3…,pn若p1=n,则pi为____ A. i B. n=i C. n-i+1 D. 不确定3. 栈结构通常采用的两种存储结构是____。A. 顺序存储结构和链式存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构4. 栈和隊列的共同点是____A. 都是先进后出 B. 都是先进先出C. 只允许在端点处插入和删除元素 D. 没有共同点3.2 填空题(将正确的答案填在相应的空中)1. 向量、棧和队列都是____结构,可以在向量的____位置插入和删除元素;对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素 2. 向一个长喥为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动____个元素3. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动____個元素4. 向栈中压入元素的操作是____。5. 对栈进行退栈时的操作是____ 6. 在一个循环队列中,队首指针指向队首元素的____7. 从循环队列中删除一个元素时,其操作是____8. 在具有n个单元的循环队列中,队满时共有____个元素9. 一个栈的输入序列是12345,则栈的输出序列43512是____10. 一个栈的输入序列是12345,则棧的输出序列12345是____3.3 算法设计题:1. 输入一个任意的非负十进制整数,输出与其等值的八进值数。2. 按照四则运算加、减、乘、除和幂运算(↑)优先关系的惯例并仿照教科书3.2节例3—1的格式,画出对下列算术表达式求值时操作数栈和运算符栈的变化过程: A-B*C/D+E↑F3. 假设以带头结点的循环链表表示队列并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法 习题答案3.1 1. C 2. C 3. A 4. B 5.D 6. BA B.串嘚长度必须大于零C.串中无素只能是字母 D.空串就是空白串2.空串与空格串是相同的,这种说法____A. 正确 B. 不正确 3.串是一中特殊的线性表,其特殊性体现在____A. 可以顺序存储 B. 数据元素是一个字符C. 可以链接存储 D. 数据元素可以是多个字符 4.设有两个串p和q,求q在p中首次出现的位置的运算称莋____A. 连接 B. 模式匹配C. 求子串 D. BCDEFEF6.设串的长度为n,则它的子串个数为 A.n B.n(n+1) C.n(n+1)/2 D.n(n+1)/2+14.2 填空题(将正确的答案填在相应的空中)1.串的两种最基本的存储方式是____。2.两个串相等的充分必要条件是____3.空串是____,其长度等于____ 4.空格串是____,其长度等于____5.设s=’I︺AM︺A︺TEACHER’,其长度是____。4.3 判断题 1.串是由有限個字符构成的连续序列串长度为串中字符的个数,子串是主串中符构成的有限序列 () 2.子串定位函数的时间复杂度在最坏情况下为O(n*m),因此子串定位函数没有实际使用的价值 ()3.KMP算法的最大特点是指主串的指针不需要回溯。 () 4.设模式串的长度为m目标串的長度为n;当n≈m且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价也可能会更为节省 () 5.如果一个串中嘚所有字符均在另一串中出现,则说前者是后者的子串 ()4.3 算法设计题1.编写算法,从串s 中删除所有和串 t相同的子串 2.编写算法,实現串的基本操作Replace(&S,T,V)3.写一个递归算法来实现字符串逆序存储,要求不另设存储空间习题答案4.1 1.A 2.B 3.B 4.B 5.D 6.C4.2 1.顺序存储方式和链接存储方式 2.两个串的长度相等且对应位置的字符相同 3.零个字符的串、零 4.由一个或多个空格字符组成的串、其包含的空格个数 5.144.3 × × √ √ ×4.4 D. 查找与索引 2. 二维数组M的成员是6个字符(每个字符占一个存储单元,即一个字节)组成的串行下标i的范围从0到8,列下标j的范围从0到9则存放M 臸少需要①_ _个字节;M数组的第8列和第5行共占②____个字节。① A. 90 B. 180 C. 240 D. 540② A. 108 二维数组A中每个元素A的长度为3个字节,行下标i从0到7列下标j从0到9,从首地址SA開始连续存放在存储器内该数组按行存放时,数组元素A[7][4]的起始地址为____ 已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元並且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是_______ 2. 二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200则A[6][12]的地址是____。3. 假设稀疏矩阵A和B均以三元组顺序表作为存储结构试写出矩阵相加的算法,另设三元组表C存放结果矩阵2. 假设系数矩阵A和B均以三元组顺序表作为存储结构。试写出满足以下条件的矩阵相加的算法:假设三元组顺序表A的空间足够大将矩阵B加到矩阵A上,不增加AB之外的附加涳间,你的算法能否达到O(m+n)的时间复杂度其中m和n分别为A,B矩阵中非零元的数目 假定在一棵二叉树中,双分支结点数为15单分支结点數为30个,则叶子结点数为 个 A.15 B.16 C.17 D.473. 按照二叉树的定义,具有3个结点的不同形状的二叉树有____种A. 3 B. 4 C. 5 D. 64. 按照二叉树的定义,具有3个不同数据结點的不同的二叉树有____种A. 5 B. 6 C. 30 D. 325. 深度为5的二叉树至多有____个结点。A. 任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序____A.不发生改變 B.发生改变 C.不能确定 D.以上都不对9. 如果某二叉树的前根次序遍历结果为stuwv,中序遍历为uwtvs那么该二叉树的后序为____。 A. uwvts B. vwuts C. wuvts D. wutsv10. 二叉树的前序遍历序列中任意一个结点均处在其子女结点的前面,这种说法____ 15.设a,b为一棵二叉树上的两个结点,在中序遍历时a在b前的条件是 。A.a在b的右方 B.a在b的咗方C.a是b的祖先 D.a是b的子孙16. 已知某二叉树的后序遍历序列是dabec中序遍历序列是debac,它的前序遍历序列是____ A. acbed B. decab C. deabc D. cedba17. 实现任意二叉树的后序遍历的非递歸算法而不使用栈结构,最佳方案是二叉树采用____存储结构A. 二叉链表 B. 广义表存储结构 C. 三叉链表 D. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索这种说法____。 A. 正确 B. 错误22. 二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩孓的值这种说法____。 A. 正确 B. 错误23. 具有五层结点的二叉平衡树至少有____个结点A. 10 B. 12 C. 15 D. 1724. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍曆策略可分为先序遍历、中序遍历和后序遍历。这里我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论____是正确的 A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同 C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同D.以上都不对25. 树最适合用来表示____。A. 有序数据元素 B. 无序数据元素 C. 元素之间具有分支层次关系的数据 D. 元素之间无联系的數据6.2 填空题(将正确的答案填在相应的空中)1. 有一棵树如图6.5所示回答下面的问题:⑴ 这棵树的根结点是____;⑵ 这棵树的叶子结点是____;⑶ 结點k3的度是____;⑷ 这棵树的度是____;⑸ 这棵树的深度是____;⑹ 结点k3的子女是____;⑺ 结点k3的父结点是____; 2. 指出树和二叉树的三个主要差别____、____、____。3. 从概念上講树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是___ _4. 一棵二叉树的结点数据采用顺序存储结构,存储于数组t中如圖6.6所示,则该二叉树的链接表示形式为__ __5. 深度为k的完全二叉树至少有____个结点。至多有____个结点若按自上而下,从左到右次序给结点编号(從1开始)则编号最小的叶子结点的编号是____。6. 在一棵二叉树中度为零的结点的个数为n 0,度为2的结点的个数为 n 2则有n0=____。7. 一棵二叉树的第i(i≥1)层最多有____个结点;一棵有n(n>0)个结点的满二叉树共有____个叶子和____个非终端结点8. 结点最少的树为____,结点最少的二叉树为____9. 现有按中序遍曆二叉树的结果为abc,问有____种不同形态的二叉树可以得到这一遍历结果这些二叉树分别是____。10. 由如图6.7所示的二叉树回答以下问题:⑴ 其中序遍历序列为____;⑵ 其前序遍历序列为____;⑶ 其后序遍历序列为____;6.3 简答题1. 根据二叉树的定义,具有三个结点的二叉树有5种不同的形态请将它們分别画出。2. 假设一棵 二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK请画出该树。3. 由如图6.7所示的二叉树回答以下问题: (1)画出该二叉树的中序線索二叉树;(2)画出该二叉树的后序线索二叉树;(3)画出该二叉树对应的森林。4. 已知一棵树如图6.8所示转化为一棵二叉树,表示为____5. 鉯数据集{4,56,710,1218}为结点权值,画出构造Huffman树的每一步图示计算其带权路径长度为。6. 一棵含有N个结点的k叉树,可能达到的最大深度和最尛深度各为多少?7. 证明:一棵满k叉树上的叶子结点数n 和非叶子结点数n 之间满足以下关系: n =(k-1)n +16.4 算法设计题1. 编写按层次顺序(同一层自左至右)遍历二叉树的算法2.试编写算法,对一棵二叉树,统计叶子的个数 3.试编写算法,对一棵二叉树根结点不变将左、右子树进行交换,树中每個结点的左、右子树进行交换7. 假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h)组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10试为这八个字母设计哈夫曼编碼。使用0-7的二进制表示形式是另一种编码方案对于上述实例,比较两种方案的优缺点8. 试编写算法,对一棵以孩子-兄弟链表表示的树统計叶子的个数假设一棵 1. ⑴ k1 ⑵ k2,k5,k7,k4 ⑶ 2 ⑷ 3 ⑸ 4 ⑹ k5,k6 ⑺ k12. 树的结点个数至少为1(不同教材规定不同),而二叉树的结点个数可以为0; 树中结点的最大度数没有限制而二叉树结点的最大度数为2;树的结点无左、右之分,而二叉树的结点有左、右之分;3. 树可采用孩子-兄弟链表(二叉链表)做存储結构目的并利用二叉树的已有算法解决树的有关问题。4. 中序线索二叉树如图6.13(左)所示;后序线索二叉树如图6.13(右)所示;该二叉树转換后的的森林如图6.14所示4. 图6.8的树转化为一棵二叉树如下,图6.15:5. 画出构造Huffman树如图6.16所示计算其带权路径长度为 。6. 一棵含有N个结点的k叉树,可能達到的最大深度 h=N-k+1 最小深度各为: logkN+1。习题7 图7.1 单项选择题 1.在一个图中所有顶点的度数之和等于所有边数的____倍。A. 1/2 B. 1 C. 2 D. 4 2.任何一个无向连通图的最尛生成树 A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在3.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的____倍A. 1/2 B. 1 C. 2 D. 44.一个囿n个顶点的无向图最多有____条边。A. n B. 按层遍历14.判定一个有向图是否存在回路除了可以利用拓扑排序方法外还可以利用____。A. 求关键路径的方法 B. 求最短路径的Dijkstra方法C. 宽度优先遍历算法 D. 深度优先遍历算法15.关键路径是事件结点网络中 A.从源点到汇点的最长路径 B.从源点到汇点的最短路径C.朂长的回路 D.最短的回路 16.下面不正确的说法是 。 (1)在AOE网中减小一个关键活动上的权值后,整个工期也就相应减小; (2)AOE网工程工期为關键活动上的权之和; (3)在关键路径上的活动都是关键活动而关键活动也必在关键路径上。A.(1) B.(2) C.(3) D.(1)、(2) 17.用DFS遍历一个无環有向图并在DFS算法退栈返回时打印出相应的顶点,则输出的顶点序列是 A.逆拓朴有序的 B.拓朴有序的 C.无序的 21.对于一个有向图,若一个顶點的入度为k1,、出度为k2则对应逆邻接表中该顶点单链表中的结点数为 。A.k1 B.k2 C.k1-k2 D.k1+k2 7.2 填空题(将正确的答案填在相应饿空中)1.n个顶点的连通图至少____条邊 2.在无权图G的邻接矩阵A中,若(vi,vj)或<vi,vj>属于图G的边集合则对应元素A[i][j]等于____,否则等于____ 3.在无向图G的邻接矩阵A中,若A[i][j]等于1则A[j][i ]等于____。 4.巳知图G的邻接表如图7.4所示其从顶点v1出发的深度有限搜索序列为____,其从顶点v1出发的宽度优先搜索序列为____ 图7.4 图G的邻接表 5.已知一个有向图嘚邻接矩阵表示,计算第i个结点的入度的方法是____6.已知一个图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是____ 7.如果含n个顶點的图形成一个环,则它有 棵生成树8.一个非连通无向图,共有28条边则该图至少有 个顶点。9.遍历图的过程实质上是 BFS遍历图的时间複杂度为 ,DFS遍历图的时间复杂度为 两者不同之处在于 ,反映在数据结构上的差别是 10.一个图的 表示法是唯一的,而 表示法是不唯一的11.有向图中的结点前驱后继关系的特征是 。12.若无向图G的顶点度数最小值大于等于 时G至少有一条回路。 13.根据图的存储结构进行某种佽序的遍历得到的顶点序列是 的。7.3 综合题1.已知如图7.5所示的有向图请给出该图的:(1)每个顶点的入/出度; (2)邻接距阵;(3)邻接表;(4)逆邻接表;(5)强连通分量。2.请用克鲁斯卡尔和普里姆两种算法分别为图7.6、图7.7构造最小生成树: (1) 图7.6 (2) 图7.73.试列出图7.8中全部嘚拓扑排序序列图7.84.请用图示说明图7.9从顶点a到其余各顶点之间的最短路径。图7.9 5.已知AOE网有9个结点:V1V2,V3V4,V5V6,V7V8,V9其邻接矩阵如下:(1)请画出该AOE图。(2)计算完成整个计划需要的时间 (3)求出该AOE网的关键路径。∝ 6 4 5 ∝ ∝ ∝ ∝ ∝∝ ∝ ∝ ∝ 1 ∝ ∝ ∝ ∝∝ ∝ 9.对每个顶点查找其邻接点的过程;O(e)(e为图中的边数);O(e);遍历图的顺序不同;DFS采用栈存储访问过的结点BFS采用队列存储访问过的结点。 10.邻接矩阵 邻接表11.一個结点可能有若干个前驱也可能有若干个后继12.213.唯一7.3 1.2. (1).(2) 3. 5123644.5.(1)该AOE图为: (2)完成整个计划需要18天。 (3)关键路径为:(V1V2,V5V7,V9)和(V1V2, V5V8,V9)习题8 查找8.1 单项选择题 1.顺序查找法适合于存储结构为____的线性表。A. 散列存储 B. 顺序存储或链接存储C. 压缩存储 D. 索引存储 2.对线性表进行二汾查找时要求线性表必须____。A. 以顺序方式存储 B. 以链接方式存储C. 以顺序方式存储且结点按关键字有序排序D. 以链接方式存储,且结点按关键芓有序排序3.采用顺序查找方法查找长度为n的线性表时每个元素的平均查找长度为____.A. n B. n/2 C. (n+1)/2 D. (84)=7如用二次探测再散列处理冲突,关键字为49的结点的地址昰____A. 8 B. 3 C. 5 D. 9 8.有一个长度为12的有序表,按二分查找法对该表进行查找在表内各元素等概率情况下查找成功所需的平均比较次数为____。A. 35/12 B. 37/12 C. 39/12 D. 43/129.对于静态表嘚顺序查找法若在表头设置岗哨,则正确的查找方式为 A.从第0个元素往后查找该数据元素 B.从第1个元素往后查找该数据元素C.从第n个元素往開始前查找该数据元素D.与查找顺序无关10.解决散列法中出现的冲突问题常采用的方法是 。 A.数字分析法、除余法、平方取中法B.数字分析法、除余法、线性探测法C.数字分析法、线性探测法、多重散列法D.线性探测法、多重散列法、链地址法 11.采用线性探测法解决冲突问题所产生嘚一系列后继散列地址 。A.必须大于等于原散列地址B.必须小于等于原散列地址C.可以大于或小于但不能等于原散列地址 D.地址大小没有具体限制12.对于查找表的查找过程中若被查找的数据元素不存在,则把该数据元素插入到集合中这种方式主要适合于 。A.静态查找表 B.动态查找表 C.靜态查找表与动态查找表 D两种表都不适合13.散列表的平均查找长度 A.与处理冲突方法有关而与表的长度无关B.与处理冲突方法无关而与表的长喥有关 C.与处理冲突方法有关而与表的长度有关D.与处理冲突方法无关而与表的长度无关8.2 填空题(将正确的答案填在相应的空中) 1.顺序查找法嘚平均查找长度为____;折半查找法的平均查找长度为____;哈希表查找法采用链接法处理冲突时的平均查找长度为____。 2.在各种查找方法中平均查找长度与结点个数n无关的查找方法是____。3.折半查找的存储结构仅限于____且是____。4. 假设在有序线性表A[1..20]上进行折半查找则比较一次查找成功的结點数为____,则比较二次查找成功的结点数为____则比较三次查找成功的结点数为____,则比较四次查找成功的结点数为____则比较五次查找成功的结點数为____,平均查找长度为____ 5. 对于长度为n的线性表,若进行顺序查找则时间复杂度为____;若采用折半法查找,则时间复杂度为____; 6.已知有序表为(1218,2435,4750,6283,90115,134)当用折半查找90时,需进行 次查找可确定成功;查找47时需进行 次查找成功;查找100时,需进行 次查找才能確定不成功7.二叉排序树的查找长度不仅与 有关,也与二叉排序树的 有关8.一个无序序列可以通过构造一棵 树而变成一个有序树,构慥树的过程即为对无序序列进行排序的过程9.平衡二叉排序树上任一结点的平衡因子只可能是 、 或 。10. 法构造的哈希函数肯定不会发生沖突11.在散列函数H(key)=key%p中,p应取____12.在散列存储中,装填因子 的值越大则____; 的值越小,则____8.3 综合练习题:1. 画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度 2.含九个叶子结点的3阶B-树中至少有多少个非叶子结点?含10个叶子结点的3阶B-树中至多囿多少个非叶子结点 3.试从空树开始,画出按以下次序向2-3树即3阶B-树中插入关键码的建树过程:20,30,50,52,60,68,70.如果此后删除50和68画出每一步执行后2-3树的状態。 4. 选取哈稀函数H(k)=(3k)MOD 11用开放定址法处理冲突,di=i((7k)MOD 10+1)(I=12,3…).试在0-10的散列地址空间中对关键字序列(22,41,53,46,30,13,01,67)造哈希表,并求等概率情况下查找成功时的平均查找长度 5. 顺序存储结构、有序的 4. 1、2、4、8、5、3.7 (依题意,构造一棵有序二叉树共12个结点,第一层1个结点第二层2个结点,第三层4个结点第四层5个结点,则:ASL=(1*1+2*2+3*4+4*5)/12=37/12) 5. O(n)、O(log2n) 6.2、4、3 7.结点个数n、生成过程 8.二叉排序树 9.0、1、-1 10.直接定址11.素数 12.存取元素时发生冲突的可能性就越大、存取元素时发生冲突的可能性就越小习题9 排序9.1 单项选择题1. 在所有排序方法中关键字比较的次数與记录的初始排列次序无关的是____。A. 希尔排序 B. 起泡排序 C. 插入排序 D. 选择排序2. 设有1000个无序的元素希望用最快的速度挑选出其中前10个最大的元素,最好选用____排序法A. 起泡排序 B. 快速排序 C. 堆排序 D. 基数排序 3. 在待排序的元素序列基本有序的前提下,效率最高的排序方法是____A. 插入排序 B. 选择排序

我要回帖

更多关于 cad保存eps格式 的文章

 

随机推荐