实现论坛树型结构的具体算法

优快云论坛-算法精华 优快云论坛的算法进行收集后的小册子 立即下载
实现论坛树型结构的具体算法
http://www.chinaunix.net 作者:eclipse  发表于:2001-11-20 10:18:03

作者:flyblue

实现论坛树型结构的算法很多,具体你可以去www.chinaasp.com的全文搜索中查询。我现在的JSP论坛采用的也是当中的一种:不用递归实现树型结构的算法,现在我将论坛树型结构的具体算法和大家介绍一下,和大家一起交流。 

1。演示表的结构: 
表名:mybbslist 
字段 
数据类型 
说明 
BBSID 自动编号   
RootID Int 根帖ID,本身为根帖则RootID = ID 
FID Int 父帖ID,上一层帖子的ID,如是根帖则FID = 0 
DEPTH Int 根帖Level=0,其他依据回复的深度递增 
BBSSubject Char 主题 

2。创建表: 
create table mybbslist ( 
forumID int(20) not null, 
bbsID int auto_increment primary key, 
rootid int(20) not null, 
fid int(20) not null, 
depth int(20) not null, 
userID int(20) not null, 
bbsUser varchar(24) not null, 
bbsSubject varchar(100) not null, 
bbsContent text, 
bbsTime varchar(30), 
bbsRead int(20), 
bbsReply int(20), 
INDEX forumID (forumID)) 

3。连接MYSQL数据库的BEAN 
package netzero; 
import java.sql.*; 
public class mydb 
{ 
String driverName = "org.gjt.mm.mysql.Driver"; 
Connection conn = null; 
Statement stmt = null; 
ResultSet rs = null; 
String connURL= "jdbc:mysql://localhost/mybbs?user=root&password=how&useUnicode=true&characterEncode=8859_1"; 
//String connURL= "jdbc:mysql://localhost/netzerobbs?user=root&password=how"; 
public mydb() 
{ 
try 
{ 
Class.forName(driverName); 
} 
catch (java.lang.ClassNotFoundException e) 
{ 
System.err.println("netzero(String): " + e.getMessage()); 
} 
} 

public ResultSet executeQuery(String sql) throws SQLException 
{ 
conn = DriverManager.getConnection(connURL); 
stmt = conn.createStatement(); 
rs = stmt.executeQuery(sql); 
return rs; 
} 

public boolean closeConn() 
{ 
try 
{ 
if (rs!=null) rs.close(); 
if (stmt!=null) stmt.close(); 
if (conn!=null) conn.close(); 
return true; 
} 
catch ( SQLException ex  
{ 
System.err.println("closeConn: " + ex.getMessage()); 
return false; 
} 
} 

} 

4。显示论坛的JSP程序 
<jsp:useBean id="mybbs" scope="session" class="netzero.mydb" /> 
<%@ page contentType="text/html;charset=gb2312" %> 
<%@ page import="java.io.*" %> 
<%@ page import="java.sql.*" %> 
<% 
int intRowCount; 
out.print("显示论坛树形结构"; 
out.print("<br><br>"; 
try { 
String sql="select * from mybbslist order by rootid desc,depth,fid,bbsid"; 
ResultSet rs = mybbs.executeQuery(sql); 
if (rs.next()) 
{ 
rs.last(); 
intRowCount=rs.getRow(); 
out.print("论坛树中有"; 
out.print(intRowCount); 
out.print("个叶子节点"; 
rs.first(); 
int j=0; 
int Depth = 0; 
out.print("<ul>"; 
while(j<intRowCount) 
{ 
int rsDepth=rs.getInt("Depth"; 
if (rsDepth<Depth) 
{ 
for(int i=1;i<Depth+1;i=i+1) 
{ 
out.print("</ul>"; 
} 
} 
rsDepth=rs.getInt("Depth"; 
if (rsDepth>Depth) 
{ 
out.print("<ul>"; 
} 
out.print("<li>"; 

String bbssubject=rs.getString("bbssubject"; 
out.print(bbssubject); 
out.print("</li>"; 
Depth = rs.getInt("Depth"; 
j=j+1; 
rs.next(); 
} 
out.print("</ul>"; 
} 
else 
{ 
out.print("数据库中无记录"; 
} 
}catch (SQLException E) { 
out.println("SQLException: " + E.getMessage()); 
out.println("SQLState: " + E.getSQLState()); 
out.println("VendorError: " + E.getErrorCode()); 
} 
%> 
<% //关闭mysql连接 
try { 
if(!mybbs.closeConn()); 
} catch (Exception ex) { 
System.err.println("closeConn: " + ex.getMessage()); 
} 
%> 


算法参考:http://www.chinaasp.com/sqlbbs/showEssence.asp?id=4783 
csdn论坛算法精华 csdn论坛-算法精华,收集了大约80篇文章,另加一篇文章:算法的力量(李开复) 立即下载

相关推荐

BBS论坛系统,类似于csdn的博客

1、总体功能:用户注册、登录、发帖、跟帖,实现文本编辑、主题帖展示(含跟帖)、主题板块分类统计、展示(主页)、板块帖子分页查询、用户加入电话、邮箱、身份证字段,注册时对相关字段实现校验功能(包括同名校验、合法性校验)、利用邮箱进行密码重置、为Cookie实现加密解密算法实现快捷登录、用户自定义头像上传、更改头像、查询用户自己发过的主题、根据主题跟帖数量对前十名排行展示、用户可以删除修改自己的帖子管理员可以任意删帖功能、使用redis实现记录点赞(支持)和踩贴(反对)的功能、敏感词过滤,要求对敏感词,使用*号显示。 2、用户功能:发帖、跟帖、找回密码、文本编辑、头像上传、更改头像、查看帖子、删除和修改自己的帖子、进行点赞和踩贴。 3、数据需求::用户必须先注册再登录进入系统,用户的信息主要包括用户名,用户密码,用户邮箱,用户电话,用户头像,用户注册时间,用户性别,用户证件号、用户id实现自动增长。 4、数据库设计:种类表、跟帖表、主题表、用户表。 5、项目调试:使用Junit测试项目的可运行性。

推荐算法基础

主要介绍了在图神经网络结合推荐算法之前,对推荐算法的研究进展

yjf321的博客 951

树型论坛树型论坛树型论坛

树型论坛树型论坛树型论坛树型论坛树树型论坛型论坛树型论坛

树型论坛的数据库设计和快速算法

树型论坛(即阶梯式论坛)的实现算法,是一直被讨论的问题。总结起来,一般无非是两种: 第一是递归。这种方式最简单,思路最清楚,但是效率也最低,特别是进行页定位的时候。由于每进行一次递归调用,就必须执行一条数据库查询,使它在大量并发请求时的负载成为灾难性的。因此这种算法一般不实用。 第二是增加一个排序字段,思路是使用一个特殊设计的字段,例如排序串或者中值排序基数,来实现贴子的插入,在显示的时候,只需要

zty_nit的专栏--零度 1222

Python读取Matlab v7.3数据

文章目录Matlab保存数据Python读取 v7.3 Mat Matlab保存数据 在matlab设置中,常规->MAT文件,选择MATLAB版本7.3或更高版本保存数据。 注意保存数据的文件名为 corre.mat,保存的数据数组为data; 后面python的读取中会用到这两个参数 Python读取 v7.3 Mat 先安装hdf5storage库,再使用以下代码,就可以读取到mat中的数据,注意 import hdf5storage import numpy as np dataDi

weixin_43121914的博客 1082

广告推荐算法 - 学习笔记(持续更新中)

本篇博客,是我用来记录学习广告推荐算法的一些笔记和总结。王喆:"深度"学习计算广告计算广告系统的核心目标是通过数据、算法和技术,在合适的场景下,将最相关的广告精准推送给目标用户,同时实现广告主媒体平台和用户之间的多方利益最大化。广告主:需求方核心目标:通过精准投放广告,最大化转化(如点击、购买)并控制成本,提升投资回报率(ROI)。关键行为:广告创建,定向设置,预算与出价策略,效果监控媒体平台:供给方核心目标:最大化广告收入,同时保持用户体验以避免用户流失。

qq_39748832的博客 2199

实现树结构的基本算法和相应的数据结构

目标 学习树数据结构的相关术语。 了解树数据结构适用的各种应用程序。 能够使用链接或者数组来实现树结构,并且熟悉基于树的基本算法。 了解二叉搜索树结构以及它的各种操作的效率。 通过更多的练习来提高对递归算法的理解。 7.1 概要 到目前为止,我们主要处理的都是像列表、堆栈和队列这样的线性数据结构,它们一般被用来表示序列中的各个元素。在本章中,我们将对之前讲的内容进行拓展,来考虑一个被称为树(tree)的非线性数据结构。树是按照层级的方式来存储数据的,因此,它非常便于对现实世界的层次结构进行建模。

人邮异步社区 2388

简话 RAG 本地部署(DeepSeek + RAGFlow)

RAG = DeepSeek + OLlama + Docker + RAGFlow + Windows 11 简话 RAG 本地部署

捉虫客 de 博客 1万+

数据结构-树形结构

数据结构-树形结构 首先,什么是树形结构,简单地说,树形结构就是你现在想的那样的结构,数据结构像树形的就是树形结构,典型的树形结构示例:Windows操作系统和Unix操作系统和文件系统均是树形结构的应用。 树的基本概念 **树(Tree)**是一个由一个或者一个以上的节点(Node)组成的,存在一个特殊的节点,称为树根(Root),Root很熟悉吧,Linux的根目录。每个节点是一些数据和指针组合而成的记录 A B C D A为根节点,B、C、D均是A的子节点 树还可以组成森林

weixin_46429290的博客 7397

若依ruoyi框架实现单点登录或者接入统一认证

log.info("单点登录用户[{}]不存在, 需要创建.", loginName);log.info("单点登录用户[{}]已存在.", loginName);jsonObjectData.put("nickName","单点1");if (code.equals("0")) {//验证成功需要自动登录。jsonObject.put("msg","验证成功");ajax.put("msg", "登录成功");

GitHub质检员 2万+

3、无限维系统理论中的算子与半群:概念、定理及应用

本博文深入探讨了无限维系统理论中的两个核心概念:里茨谱算子与卢默-菲利普斯定理。文章首先介绍了里茨基的定义与性质,分析了谱、预解集及特征值在无限维系统中的特性,并详细阐述了里茨谱算子的条件及其生成C0-半群的能力,结合阻尼欧拉-伯努利梁模型展示了其应用。随后,文章介绍了卢默-菲利普斯定理及其推论,通过多个偏微分方程实例(如一阶方程、柔性梁、波动方程和扩散问题)说明如何利用该定理判断算子是否生成压缩半群。此外,还强调了状态空间选择和边界条件对系统适定性的重要影响,并总结了相关问题的解决步骤与方法。

flink9streamer的博客 148

JSP实现论坛树型结构的具体算法

实现论坛树型结构的算法很多,具体你可以去www.chinaasp.com的全文搜索中查询。我现在的JSP论坛采用的也是当中的一种:不用递归实现树型结构的算法,现在我将论坛树型结构的具体算法和大家介绍一下,和大家一起交流。  1、演示表的结构:    表名:mybbslist    字段     数据类型  说明    BBSID    自动编号      RootID    Int     根

为理想而奋斗 864

lammps不同晶面建模方法汇总

Lammps lattice命令中的orient关键词可实现晶体的旋转和重定向,下面的命令中,111面的法线方向与y正方向重合,说明111面垂直于y轴。在有些模拟中,需要研究特定面的性质,比如研究110面,默认状态下,110面不是坐标平面,研究起来不方便,需要对模型进行旋转,如下图所示。经过旋转后,110面的法线方向与x轴正方向重合,旋转之后再重新对晶体进行切割,新模型的x面就是110面。需要注意的是,这种方法需要明确指定x、y、z轴的正方向分别对应哪三个面的法线方向,缺一不可。大家好,我是小马老师。

lammps_jiayou的博客 357

实现论坛树型结构的具体算法--Java自学网

实现论坛树型结构的算法很多,具体你可以去www.chinaasp.com的全文搜索中查询。我现在的JSP论坛采用的也是当中的一种:不用递归实现树型结构的算法,现在我将论坛树型结构的具体算法和大家介绍一下,和大家一起交流。  1。演示表的结构:  表名:mybbslist  字段  数据类型  说明  BBSID 自动编号   RootID Int 根帖ID,本身为根帖则R

296

机器学习笔记:估算模型训练所需的样本量的方法

相反,如果训练得分高而交叉验证得分低,那么模型可能存在过拟合问题,需要更多的样本来提高泛化能力。本文将介绍一些常用的方法来估算模型训练所需的样本量,并提供相应的源代码。除了经验法则和学习曲线法,还有一些统计学方法可以用于估算模型训练所需的样本量。学习曲线是一种通过绘制模型性能与样本量之间的关系曲线来估算样本量的方法。需要注意的是,这些方法仅提供了估算样本量的指导,具体的样本量仍然需要根据实际情况进行调整和优化。通过合理估算样本量,可以提高机器学习模型的性能和泛化能力,从而更好地应用于实际问题中。

HnrzLinux的博客 2732

【第2章>第10节】深度学习DenseNet模型分析与matlab仿真

本文介绍了基于DenseNet深度学习模型的图像分类MATLAB实现方法。主要内容包括:1. DenseNet模型原理,详细解析了初始卷积层、密集块、过渡层等核心结构;2. 在MATLAB环境下完成DenseNet工具箱安装和测试样本准备;3. 实现图像预处理(统一缩放为224×224)、模型训练和测试的完整流程;4. 提供了混淆矩阵和准确率等测试结果分析。文章附带完整的MATLAB程序代码和操作视频教程,适合深度学习初学者快速掌握DenseNet模型的图像分类应用。通过实际测试,验证了该方案的有效性。

FPGA/MATLAB学习教程/源码/项目合作开发 330

树型论坛的快速算法

树型论坛的快速算法左轻侯2001.10.9 树型论坛(即阶梯式论坛)的实现算法,是一直被讨论的问题。总结起来,一般无非是两种:第一是递归。这种方式最简单,思路最清楚,但是效率也最低,特别是进行页定位的时候。由于每进行一次递归调用,就必须执行一条数据库查询,使它在大量并发请求时的负载成为灾难性的。因此这种算法一般不实用。第二是增加一个排序字段,思路是使用一个特殊设计的字段,例如排序串或者中值排序

qinghou的专栏 3447

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: JAVA上加密算法的实现用例
下一篇: 用assertions使你的代码更加稳定
lwqadmin
博客等级 码龄22年 6粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值