Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y

Leadership Development Paper • Assignment: (265 points)o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in your paper as you integrate the material covered in all lectures:§ Characteristics of communication§ Assessment of current leadership condition or status§ Description of future leadership development goals and state§ Explain how each weekly topic will help you meet your leadership development goals – The use of headings for each weekly topic is recommended. For example, the heading for this expectation might beCourse Support with sub-headings of Communication, Time Management, Critical Thinking, etc.§ Paradigm/theological support for biblical leadership in contrast to secular perspective of leadership –500-1,000 wordso Requirements: Your paper must be 2,500 to 3,000 words and be APA-compliant.Include a title page, references page, and a minimum of five scholarly sources.

UNIT SEVENTopics• Introduction to Teams• Teams Versus Groups• Effective Teams• Team Development• Team Member Skills and Behavior• Leading Teams• Defining the Portfolio’s Purpose and Use• Developing the Format• Creating A Personal Plan

Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y
MSL 601 Introduction to Graduate Education Belhaven University Unit One Understanding Graduate School Topic Covered in this Lecture  Belhaven’s vision and mission  Understanding a Christian worldview  Graduate versus undergraduate studies  Academic success  Student responsibilities Belhaven’s Mission  Belhaven University’s mission is to prepare students academically and spiritually to serve Christ Jesus in their careers, in human relationships, and in the world of ideas. Belhaven’s Vision  Our vision begins with affirming the Lordship of Christ over all aspects of life, acknowledges the Bible as the foundational authority for the development of a personal worldview, and recognizes each individual’s career as a calling from God.  Each academic department is committed to high academic goals for its students and clarifies the implications of biblical truth for its discipline. Introduction to MSL601  Review of APA and writing papers  Research Methods  Critical Thinking  Communication Skills  Time Management  Leadership Introduction to the Graduate Program  MBA Program  MPA Program  MSL Program  Preparing for the Capstone Courses Worldviews  “A worldview is a conceptual scheme by which we consciously or unconsciously place or fit everything we believe and by which we interpret and judge reality” (Nash, 1988, p. 24). Competing Worldviews  Assumptions make a big difference  How we see human beings  How we see the world  How we view morality  Secular Assumptions  God is irrelevant  Man is just an animal  Truth is relative Christian Worldview  Developing a Christian Worldview  Belhaven’s unique graduate program designed and delivered from a Christian worldview A Christian Worldview begins with Creation  God created all things  He made all things good  He created Adam and Eve  They were called to be fruitful and multiply  Adam was called to name the things in the garden  Truth about God is revealed in nature (general revelation) A Christian Worldview understands the effects of the Fall  The Fall  Mankind fell into sin and death.  The whole world is under the influence of sin.  Humankind’s corruption affects all aspects of human life including the mind. (the noetic effects of sin) Creation, Fall, Redemption  Redemption  The hope of mankind comes through the work of Jesus Christ.  A redeemed mind sees the world as God’s world and of great value.  A redeemed mind sees that God loves people and they are created in image and of infinite value.  Thus a redeemed mind restores understanding to what it is supposed to be. Aspects of a Christian Worldview  God is a God of truth  All knowledge belongs to God  We need to think about the world and about man from the perspective of God (“bring every thought captive”)  We need to think about our work and our study as a means to glorify God. Bring every thought captive  God wants us to bring our lives into conformity with Christ.  God wants us to see the world from God’s perspective: know of the world (Science)  Even our work and knowledge of our work should be brought under the authority of God. Your Vocation  Your work matters to God  Just like a pastor is called to serve God in the church we as citizens of God’s kingdom are called to serve him in our vocation.  We are to glorify God in our work (creation mandate) and for those who are redeemed to actively glorify God in all our work (redemption). Your Vocation  Our work is not our God  Your work is important to God  Glorify God in your work  Your study in graduate school is important to God Graduate versus Undergraduate Education  Accelerated pace  Bar is raised on all levels  Heavier workload  Additional reading requirements  Longer and more extensive written assignments  Papers focus on analyzing, assessing, and problem -solving  Papers written on a professional level with objective Academic Success  Prayer  Collaboration and support from cohorts  Commitment  Sacrifice  Support from family and friends  Time management Student Responsibilities  Download and print syllabus  Read carefully several times  Thoroughly read weekly assignments prior to the beginning of each Unit  Recommend taking notes from reading material  Check for updated announcements Student Responsibilities, cont.  Review posts/questions of other students submitted in the facilitator’s forum  Submit completed assignments prior to the due date  Submit answers and replies to the discussion forums  Ask questions of the professor if uncertain about assignment expectations Online Resources  Belhaven electronic database  Grammarly  Sites of established and recognized organizations  Government sites  Avoid personal sites  Avoid sites with unknown authors  Do not use Wikipedia! Learning tools  Lectures  Hearing and seeing  Text book  Reading  Individual homework  Analyzing  Discussion forum  Applying and  Examining  Completing all components is very important to accomplish the objectives of the course. Format for each Session  Introduction of the Unit  Unit Topics  Christian worldview integration  Major topics and points for the week’s learning objectives Online Learning  Characteristics  Online learners must be highly self – motivated.  Online learners must have high responsibility for assignments and discussions.  Facts  Online learning is not easier than traditional classroom learning.  Learners must meet deadlines.  It’s easy to think we’re anonymous because there’s no face time. 24 Tips for Success  Course Page  Activities  Individual homework  Discussion forum  Weekly discussions  Media  Module  Handouts & links  Class lectures  Schedule  Be attentive to deadlines.  The week (unit) begins on Sunday and ends on Saturday.  Observe Sabbath  Manage your time 25 Tips for success, cont.  Communicate  Ask questions  Participate  Be engaged in discussion  Seek handouts  Contact the professor with questions or problems This concludes Unit 1  Recapping Unit 1  Belhaven’s Mission and Vision  Christian Worldview  Student Expectations  Online Resources  Tips for Success References Nash, R. (1994). Faith and reason . Grand Rapids, MI: Zondervan. Pearcy, Nancy. (2005). Total Truth: Liberating Christianity from Its Cultural Captivity . Wheaton, IL: Crossway. Sherman, Doug. (1987). Your work matters to God . Colorado Springs, CO: NavPress.
Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y
MSL 601 Introduction to Graduate Education Belhaven University Unit Four Research Methods Topics Covered in this Lecture  Introduction to research  Research approaches  Research design and plan  Data collection  Primary versus secondary sources  Analysis of findings  Limitations  Case study example Topics Covered in this Lecture, cont.  Library Use  Basic Research Methods Introduction to Research  Research literally means to “search again.”  Involves systematic using scientific methodology to identify and solve problems  The purpose of business research is to “explain, predict, and/or control phenomena in the workplace” (Gay & Diehl, 1992).  For managers and leaders, it supports informed decision making Introduction to Research, cont.  Basic or theoretical research  Focuses on theory development  Applied research  Focuses on applying theory and/or testing its effectiveness in the workplace  Action research  Specific and local pragmatic focus for the purpose of problem -solving Research Approaches/Methods  Historical  Attempts to draw conclusions from historical phenomena in order to understand current or future events  Descriptive/Exploratory  Focuses on obtaining status of an event or object by assessing its attributes or characteristics Research Approaches/Methods, cont.  Correlational  Attempts to determine if there is a relationship between variables that are quantifiable  Causal -comparative  Attempts to identify a cause and effective relationship without modifying independent variable Research Approaches/Methods, cont.  Experimental  Independent variable is modified to positively establish whether there is a cause and effect relationship Research Approaches Qualitative  Inductive approach  Subjective  Data emerges during the study and is descriptive Quantitative  Deductive approach  Objective  Data is classified and tabulated  Data is numerical/statistical Research Approaches, cont. Qualitative  Words, concepts, images are analyzed  Focus on meaning  Best for understanding and sense making of complex phenomena Quantitative  Data is numerical/statistical  Uses precise language and measurements  Tests hypothesis  Seeks definitive and precise results Research Design  Provides an overarching structure and plan  Research questions  Data collection methods (qualitative/quantitative)  Selection of study  Data collection methods  Criteria for interpreting findings  Data analysis  Limitations Data Collection Qualitative  Direct observation  Participative observation  Physical artifacts  Documents (content analysis on themes, key words, etc.)  Interviews Quantitative  Surveys  Tests  Documents with variables that can be quantified  Structured interviews Primary versus Secondary Sources Primary  Addresses specific needs and problems  Extensive resource commitment  Requires research skills Secondary  Easily accessible  Good fit for papers  Sometimes dated  Economical  May not meet specific needs in solving problems Secondary Sources for Papers  Belhaven online library  Peer reviewed journals  Use websites with caution  Government data  Census data  Hard copy libraries Belhaven Online Library  Online Library Catalog search  Subject  Title  Author  Series Belhaven Online Library, cont.  Databases  Business Source Complete  ATLA Religion Database  Communication & Mass Media Complete  Ebsco EBook Collection  ERIC: Educational articles  JSTOR  LexisNexis Academic  Military & Government Collection  Regional Business News Belhaven Online Library, cont.  Additional Library Helps  Browse by  Database  Journals  Business & Management  Economics  Interlibrary Loan  Check out the library training modules Analysis of Findings  Internal reliability  Validity  Statistical analysis  Triangulation Limitations  All research has limitations  Subjectivity in documents  Interpretation of results  Invalid survey instruments  Low response rate  Scope of data collected Case Studies  Common type of research used for the classroom  Research method or design  Object to be studied  Most projects only require secondary sources Case Studies  Focus is in -depth analysis on single or multiple cases  Originates from social sciences  Can include multiple sources  Documents  Interviews  Observations  Artifacts  Data analysis includes assertions, descriptions, and themes Case Study Assignments  Most case study assignments will either provide a specific case or a list of cases to choose from  Normally a list of specific expectations is provided  Expectations can serve as guiding questions  Case study is linked with learning objectives  Normally only secondary sources are required  Problem -solving approach is helpful Steps in Completing Organizational Related Case Study Assignment 1. Selection of case 2. Use guiding questions or expectations to narrow research inquiries 3. Keep in mind how it is linked with the learning objectives 4. Collect all of your data for analysis Completing Case Study Assignment  Identify the issues in the case  How or why did the issues occur?  What stakeholders are affected?  Are their quantifiable data?  Constraints or opportunities? Completing Case Study Assignment, cont.  Articulate the problem  Differentiate between issues  Problems have solutions  Narrow and articulate problem into a problem statement Steps in Completing Case Study Assignment, cont.  Suggested steps for analyzing the case: 1. Generate list of alternatives 2. Conduct a SWOT analysis of alternatives 3. Select best or preferred alternative 4. Articulate alternative as solution 5. Develop action steps to implement solution 6. End state goals if applicable Components of Case Study Paper  Introduction  Background  Problem statement  Analysis of case (issues, problem, and linkage with end state goals).  Recommendations  End state goals  Conclusion This Concludes Unit 4  Recapping Unit 4  Research approaches  Research design and plan  Data collection  Primary verses secondary sources  Analysis of findings  Limitations  Case study example References Creswell, J. W. (1998). Qualitative inquiry and research design: Choosing among five traditions. Thousand Oaks, CA: Sage Publications. Gay, L. R., & Diehl, P. L. (1992). Research methods for business and management. New York, NY: MacMillan Publishing Company. Zikmund, W. G. (2003). Essentials of marketing research. Mason, OH: Thomson South -Western.
Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y
MSL 601 Introduction to Graduate Education Belhaven University Unit Three Time Management Topics Covered in this Lecture  God is first: Sabbath, prayer, and meditation  Principles for managing time  Prioritizing  Focus  Family and personal considerations  Supportive tools  Time management strategies God is First!  Sabbath  Prayer  Meditation Principles for Managing Your Time  Common concepts  Time is a commodity  Time is money  Time is of the essence  Giving of your time Principles, cont.  Benefits of time management:  Maximize productivity  Achieve goals  Supports a balanced life with God being first Everyone is Unique  Know yourself:  Time conscience – Some people keep a very strict account of time.  Time oblivious – Some people are always late and are oblivious to deadlines and schedules.  Time procrastinators – This personality type is aware of deadlines and schedules but puts off tasks until the last minute. Evaluate Your Activities  Time Analysis:  Document daily activities  Create list of tasks  Set a deadline to accomplish tasks  Document time spent on tasks  Analyze amount of time spent  Identify wasted time Redeem Your Time  Every minute counts  Plan to use gaps that occur each day  Five minutes reclaimed here, and ten minutes there can add up to a substantial amount  Say “no!” Focus  Find a place to study that works and stick with it.  Tackle difficult subjects or sections first  Avoid cramming at last minute  Set up a weekly schedule with equal daily allotments. Set Goals  Setting goals is vital for effective time management.  Identify what needs to be to accomplished  Goals add focus S.M.A.R.T. Goals  Specific  Measurable  Attainable  Realistic  Time specific Prioritize  Scan your “to do list”  Flag urgent items from nonurgent items  Break up larger tasks Application of Principles  Each day make a daily plan of activities/tasks  Prioritize list of daily tasks  Eliminate nonessentials  Delegate if possible  Factor enough time to do the task right Application of Principles, cont.  Evaluate effectiveness regularly  Take regular breaks  Identify distractions and eliminate them  Do not neglect physical exercise and diet Signs of Poor Time Management  Constant rushing  Missed deadlines  Work overload  Sense of being overwhelmed  Indecision Take my yoke upon you  Stop and pray  Look to Jesus  Meditate on Matthew. 11:28 -30 Pareto Principle  Pareto Principle or 80/20 rule  20% of your time accomplishes 80% of your tasks  20% of priorities produce 80% or results Operational vs. Inspirational goals  S.M.A.R.T. goals are not enough  Balance assignments from the program with your assignment from God.  Connect with life calling  Personal spiritual goals  Personal responsibilities Inspirational goals  Link values with goals  Consider behavioral changes  Meditate on relevant scripture  Supporting ministry goals  Christ is our standard Motivation  Beliefs supersede “need” motivations  Beliefs distinct from desires  According to Rima (2000 ), there are four motivational factors  Basic needs  Physiological needs  Willful desires  Significant beliefs Family and Personal Considerations  Don’t neglect your family  Establish quality time  Schedule special activities  Ask for their support  Make educational goals a family effort  Take time to sharpen your axe Supportive Tools  Note taking software  Bibliography and research software  Scheduling software  Daily planners  Reminders  Databases  Internet accessibility Ad hoc Tips  Value all of your time as something to be used  Look for something positive or enjoyable  Be an optimist  Build on previous successes  Move on from previous failures Ad hoc Tips, cont.  Make time for what is really important  Challenge yourself to find new approaches to free up your time.  Evaluate unproductive habits  Keep supportive tools handy  Revise goals as needed  Be mindful of long term goals Ad hoc Tips, cont.  Review activities at the beginning and end of the day.  Pray over these activities  Reward yourself for simple accomplishments  Conduct self -check for wasting time  Ask yourself if you are avoiding a task  Concentrate on one item at a time  Ask for support and help from your cohorts or your professor. Self – Check List  Are you putting God first?  How frequently are your daily goals achieved?  How flexible are you in changing plans?  How frequent do you make plans on how to avoid distractions? Self – Check List, cont.  Are you documenting your time management plan?  Are you making time for personal obligations?  Are you allowing time for rest?  How frequently are you being interrupted? Time Management Strategy  Previous points provide the elements for developing strategic time management plan  Develop a plan that works for you  Assess your current situation  Needs  Obligations  Responsibilities Time Management Strategy, cont.  Set your short -term assignment goals on ongoing basis  Link with achieving long -term ministry and educational goals  Develop specific steps  Assess success  Revaluate what is working  Give God the glory This Concludes Unit 3  Recapping Unit 3  God is first: Sabbath, prayer, and meditation  Principles for managing time  Prioritizing and focusing  Family and personal considerations  Supportive tools  Time management strategies References  Dartmouth College (2001) Time tips. Academic skills center. Retrieved from http://www.dartmouth.edu/~acskills/succe ss /time.html  Nelson, D. L., Quick, J. C. (2006). Organizational behavior: Foundations, realities, & challenges. (5th. ed.). Mason, OH: Thomson South -Western. References, cont.  Mayo Clinic. (2009). Time management: Tips to reduce stress and improve productivity. retrieved from http://www.mayoclinic.com/health/time – management/WL00048  Rima, S. D. (200). Leading from the inside out: The art of self -leadership. Grand Rapids, MI: Baker Books.
Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y
MSL 601 Introduction to Graduate Education Belhaven University Unit Five Critical Thinking Topics Covered in this Lecture  Defining critical thinking  Importance of critical thinking  Perspectives  Assumptions and biases  Sound reasoning  Deductive versus inductive reasoning  Logical fallacies Defining Critical Thinking  Defining critical thinking requires the use of critical thinking  Depends upon context  Affected by worldview Various Definitions  “The use of those cognitive skills or strategies that increase the probability of a desirable outcome – in the long run, critical thinkers will have more desirable outcomes than ‘noncritical’ thinkers (where ‘desirable’ is defined by the individual, such as making good career choices or wise financial investments)” (Halpern, 1998). Various Definitions, cont.  “Critical thinking is the intellectually disciplined process of actively and skillfully conceptualizing, applying, analyzing, synthesizing, and/or evaluating information gathered from, or generated by, observation, experience, reflection, reasoning, or communication, as a guide to belief and action” (Scriven & Paul, 1996). Various Definitions, cont.  “Most formal definitions characterize critical thinking as the intentional application of rational, higher order thinking skills, such as analysis, synthesis, problem recognition and problem – solving , inference, and evaluation” (Angelo, 1995, p. 6). Why Critical Thinking?  According to Smith and Leflore (2002 ), critical thinking helps “foster the development of alternative and creative solutions to problems, and the development of clear, reasonable, meaningful, and thoughtful communications” along with being “the major component of a comprehensive definition of education itself.” CT asks the following:  how…?  why…?  what are the reasons for…?  what the types of…?  what are the functions of…?  what is the process of…?  what other examples of…?  what are the causes/ results of…?  what is the relationship between …and …? CT seeks to:  Support objectivity over subjectivity  Develop rationale arguments  Understand limitations of personal perspectives  Account for necessary assumptions and minimize unnecessary assumptions  Minimize and/or understand biases Importance of Critical Thinking  Helps interpret information and translate it into useful knowledge  Prevents being taken advantage of  Minimizes poor decision making  Helps to see more of the world around us  Equips us for effective apologetics  Enables us to be more productive Perspectives  Looking through a glass dimly  Finite knowledge  Limited experience  Degrees of maturity in Christ  Everyone has a subjective perspective  Bias can be just a preference  Bias often is negative Perspectives and Emotions  Emotions can influence critical thinking  May cloud judgment  Can never eliminate our emotions  Need to factor in their affect and make adjustments accordingly Perspectives and Language  Language can also influence critical thinking  Words are imprecise  Words have to be interpreted  Interpretation needs context  Cultural interpretation can change meaning  Improper words choice can taint intentions Assumptions  Understanding assumptions  Necessary for filling gaps in our thinking process  Can be positive or negative  Need to evaluate the degree of support it lacks  Assumptions can be close to valid  Assumptions can be wildly speculative Deductive vs. Inductive Reasoning Inductive  Particular to general  Used in detective work  Frequently used in Bible study  Conclusion is in probabilities Deductive  General to particular  Conclusion is definitive  Premise must be true and structure of argument valid for conclusion to be sound  Frequently used in systematic theology Syllogisms  Syllogism is the basic form of deductive reasoning  Contains two or more premises that infer a conclusion  In order for the conclusion to be sound reasoning  Premises have to be true  Structure of the argument has to be valid  Both conditions have to be met Syllogisms, cont.  Several types of syllogisms  Categorical  Hypothetical (uses If Then statement)  Disjunctive Truth Value of Syllogism  In order for the conclusion of a syllogism to be sound, the premises must be true  Deductive reasoning can be used to determine the truth value Truth Value of Syllogism, cont.  Categorical syllogism example  All Belhaven students support Christian values  Student A is a Belhaven student  Therefore student A supports Christian values Truth Value of Syllogism, cont.  Inductive steps to test truth value 1. All Belhaven students complete surveys asking if they support Christian values 2. If 100% response yes, the first premise is true 3. Only takes a single no to make it false 4. Admissions can verify if student A is a Belhaven student and consequently the truth value is determined Validity of Syllogism All A are B Some A are B B A B B B A B Syllogisms, cont.  No A are B B B A B Deductive and Inductive  Deductive and Inductive should be used together  Both have strengths and weaknesses Logical Fallacies  Unsound reasoning or faulty logic  Dozens of different types Logical Fallacies Types  Ad hoc  Argument from ignorance  Ad hominem (attacking the person)  Appeal to authority  Appeal to emotion  Begging the question  False analogy  Slippery slope Logical Fallacies Types, cont.  Common belief  Division  Composition  False dilemma or false dichotomy  Hasty generalization  Inconsistency  Non sequitur Logical Fallacies Types, cont.  Red herring  Straw man  Two wrongs make a right  Slanting Limitations  All logic has limitations  Sound reasoning from a Christian Worldview may supersede secular logic  May be logical from God’s perspective but not the world This concludes Unit 5 Recapping Unit 5  Importance of critical thinking  Perspectives  Assumptions and biases  Sound reasoning  Deductive versus inductive reasoning  Logical fallacies References Angelo, T. A. (1995). Beginning the dialogue: Thoughts on promoting critical thinking: Classroom assessment for critical thinking. Teaching of Psychology, 22(1), 6 -7. Halpern, D. (1998). Teaching critical thinking for transfer across domains. Dispositions, skills, structure training, and metacognitive monitoring. American Psychologist, 53(4), 449 – 455. References Kirby, G. R. & Goodpaster, J. R. (1999). Thinking . (3rd. ed.). Upper Saddle River, NJ: Prentice Hall. Scriven, M. & Paul, R. (1996). Defining critical thinking: A draft statement for the national council for excellence in critical thinking. Retrieved from: http://www.criticalthinking.org/pages/defining -critical -thinking/410
Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y
MSL 601 Introduction to Graduate Education Belhaven University Unit 6 Leadership Topics Covered in this Lecture  Biblical principles for effective leadership  Leadership models  Leadership styles  Leadership versus management Introduction to Leadership  Various concepts about leadership  Conflicting definitions  Leadership development Leadership Myths  Leaders are born, not made.  Leaders must be charismatic.  Leaders don’t delegate the important stuff.  Leadership exists only at the top.  Leadership incompetence results from too little of “the right stuff.”  Leaders need to keep others at a distance (Baldwin, Bommer, and Rubin, p. 313). Leadership Matters  “Effective leadership is paramount for the success of organizations and the well -being of employees and citizens.”  “Effective leadership makes great things happen.”  (Baldwin, Bommer, and Rubin, p. 311). Biblical Principles for Effective Leadership  The first shall be the last.  If you want to save your life, you must lose it.  If you want to live, you must die.  Biblical leadership entails a change in paradigms.  Turning the world upside down. Natural versus Biblical  Natural  Leader is first  The leader is the most competent in the group and goes first, and people follow that person as the leader. Biblical Leadership  The one leading points to God as the leader.  Connects others with God. Natural versus Biblical  Natural  Outward appearance  1 Samuel 16:6  Personal strength  Temporal Goals  Biblical  Intentions of the heart  1 Samuel 16:7  Personal weakness  2 Corinthians 12:9  2 Corinthians 1:8 -11  Eternal Goal Natural versus Biblical Natural  Personal accomplishments  Prominence  Charisma Biblical  Faith in Christ’s accomplishments  Galatians 6:12 -14  God shows no partiality  Galatians 2:6  Non -essential  2 Corinthians 10:10 Natural versus Biblical, cont. Natural  Separate class or category of person (leader vs. follower)  Degree of greatness or success is measured quantitatively by a number of followers Biblical  No categorical or class distinction between leader and follower (1 Peter 2:9, priesthood of believers)  Mandated to not make followers after oneself. Natural versus Biblical, cont. Natural  Performance is measured by the success of influencing followers  Priority is to lead and influence others toward a tangible goal Biblical  Performance is measured by obedience to God’s will.  Priority is to influence others to follow Christ resulting in leading others to Christ Natural versus Biblical, cont. Natural  Dependent upon persons  The leader’s existence is dependent upon the role of other followers. Biblical  Dependent upon God  The role of the follower is not dependent upon any created person or object, but rather dependent on God. Natural versus Biblical, cont. Natural  Leader and follower are codependent  Ego/leader -centric  Organizational success “rises and falls on leadership” (Maxwell, 1998, pp. 2 & 134) Biblical  Only one true leader; Christ  Christ Centric  Follower/leader vicarious victor with Christ Natural versus Biblical, cont. Natural  Chosen and selected by man Biblical  Chosen and called by God Leadership Models  Servant Leadership  Transformational Leadership  Transactional Leadership  Situational Leadership  Charismatic Leadership Leadership Models, cont.  Descriptive not prescriptive  Biblical examples for each model can be found  All truth is God’s truth Servant Leadership  Originally developed by AT&T executive Robert Greenleaf  Servant leader begins with being a servant first  Followed by “conscience choice brings one to aspire to lead” (Greenleaf, 1991, p. 13)  Greenleaf distinguishes this frame of reference from those who is a leader first  Better described as “service” leadership from a Christian perspective Christian Servant Leadership  Modeled after Christ who came to serve and not be served (Matthew 20:28)  Begins with the heart  Focused on Christ not man  Serve others as serving the Lord Transformational Leadership  Theory developed by James Burns  Originally focused on ethics  Leader made an appeal to values to drive reform  Evolved to emphasis on vision  Vision provides direction and inspiration for future state Transactional Leadership  Often contrasted with Transformational leadership  Contingent on rewards  Corrective actions if expectations not met  Applicable to implementation of tasks Situational Leadership  Leader assesses the readiness of the follower  Readiness related to maturity level or character  Readiness regarding skills or ability to accomplish tasks Situational Leadership, cont.  Leader adapts style according to four potential scenarios  Styles include:  Delegating  Participating  Selling  Telling Charismatic Leadership  Based on perception that personal qualities of the leader  Occurs during a crisis  Latter developed added dimension of attribution  Followers desire to please and imitate the leader  Values and beliefs Leadership Styles and Approaches  Directive/autocratic  Visionary  Coaching  Persuading  Example/model  Serving  Praying  Exhorting Leadership Practices  Shared Vision  Modeling the way  Empowering others  Challenging the process  Encouraging the heart Leadership Rational and Emotional  Leadership includes actions and influences based on reason and logic as well as those based on inspiration and passion .  Good leadership is more than just calculation and planning , or following a “checklist.”  Good leadership involves touching others’ feelings ; emotions play an important role in leadership too. Christian Leadership is Spiritual  This is the most important dimension that distinguishes Christian leadership  The sources is Christ  Indicates who is followed: Christ via the Holy Spirit  Method: Cross  Process: Obedience  Heart not skills Leadership versus Management Old school false dichotomy Leadership  Leaders innovate  Leaders develop  Leaders inspire Management  Managers administer  Managers maintain  Managers control Leadership versus Management Old school false dichotomy, cont. Leadership  Leaders ask what and why  Leaders originate  Leaders challenge it Management  Manager ask how and when  Managers imitate  Managers accept the status quo Lead and Manage  Replace “either/or” thinking with “both/and”  Leaders must have effective management skills Lead and Manage, cont.  Managers must have effective leadership skills  Management is the most common platform for leadership opportunities Leadership and Management Biblical Stewardship and Management Stewardship  Fruitful  Multiply Management Perspective  Measurable results  Expand/Create Biblical Stewardship and Management Stewardship  Govern  Cultivate  Keep Management Perspective  Control/Monitor  Maximize performance  Coach/Nurture  Support  Member retention  Customer satisfaction Shepherd My Sheep  Shepherd is a biblical metaphor for the leader/manager  Focus not on shepherd but sheep  Guide and direct from behind  Feed  Protect This concludes Unit 6 Recapping Unit 6  Biblical principles for effective leadership  Leadership models  Leadership styles  Leadership versus management References Baldwin, Timothy., Bommer , William H., & Rubin, Robert S. (2013) Managing organizational behavior: What great managers know and do . (2 nd . ed.) New York, NY: McGraw -Hill/Irwin. Greenleaf, Robert K. Servant Leadership: A journey into the nature of legitimate power and greatness . (1991). New York: Paulist Press. References Hughes, R. L., et.al. (2006). Leadership: Enhancing the lessons of experience. (5th. ed.). New York, NY: McGraw -Hill/Irwin. Kouzes, J.M. & Posner, B.Z. (1995). Leadership Challenge: How to get extraordinary things done in organizations. San Francisco, CA: Jossey -Bass. Yukl, G. (2006). Leadership in organizations. (6th. ed.). Upper Saddle River, NJ: Pearson Prentice Hall. References Maxwell, John C. (1998). The 21 irrefutable laws of leadership: Follow them and people will follow you . (p.p. 2 & 134). Nashville, TN: Thomas Nelson Publishers.
Leadership Development Paper • Assignment: (265 points) o Prompt: The purpose of this paper is to articulate your development as a leader from a Christian worldview. Include the following content in y
MSL 601 Introduction to Graduate Education Belhaven University Unit Two Professional and Academic Communication Topics Covered in this Lecture  Communication  Professional vs. Academic Writing  Plagiarism  APA requirements Introduction to Communication  Effective communication is vital to maximize productivity.  Communication efficiency is a problem.  Under 5% Introduction to Communication, cont.  Common metaphors are used to stress the significant role of communication.  Life blood of the organization Introduction to Communication, cont.  Glue that binds the organization  Oil that smoothens  Thread that ties the system together Verbal Communication  Verbal communication is a transactional process  Not just a passive unidirectional event but involves the participation of both the messenger and the intended audience  Interpretation is a normal an aspect of this process Verbal Communication, cont.  Effective verbal communication can be enhanced with training and developing particular skills.  PowerPoint slides are frequently used in the workplace to support verbal communication. Writing Researched Based Papers  Many forms of college writing  Essays  Opinion  Reflective  This program requires researched based papers Distinctions of Researched Papers  Objective not subjective  Not about opinions or personal perspective  Minimize or avoid use of first person Distinctions of Researched Papers, cont.  Assertions are presented  Assertions are supported through outside resources  External references provide validity Supports Workplace Application  Analysis  Assessments  General reports  Formal memos  Budget proposals  Project proposals and reports  Employee development Professional Writing  Professional writing includes  email  letters  memos  reports Communication  Communicate questions directly to the professor, except in cases where you need to contact technical support. Your Belhaven University email address will be utilized for the class, so be sure to check it frequently. Academic Writing  Academic writing includes  Formal  Precise  Objective  Accurate  Rules to follow Required Formatting  The required formatting for your papers, assignments, projects, discussions, or anything else that maybe research based use APA formatting. Plagiarism Defined  Plagiarism involves the presentation of some other person’s work or idea as if it were the work of the presenter and is a violation of the Belhaven Honor Code. What Plagiarism is?  Plagiarism includes submitting a paper or parts of a paper written by someone other than the student.  Plagiarism also includes quoting from source materials without using quotation marks or block indentations to show that the material was quoted as required in acceptable documentation. Self – plagiarism  Self -plagiarism is also a violation and is defined as using one’s own prior work to gain credit for current works of the learner without properly citing the original source, such as a previous paper or homework activity.  If you have questions or would like more information concerning plagiarism you can go to: http://www.plagiarism.org/ Plagiarism is a Sin  The Bible teaches that God honors honesty and fair dealing. God will bless the person who “walks blamelessly and does what is right and speaks truth” from the heart (English Standard Version, Ps. 15:2; see also Prov. 20:7).  Only responsible, honest research fulfills this high ethical standard. Good research and writing are hard work. The Bible also teaches that God blesses diligent, righteous labor (Proverbs 12:24, 27). Pleasing God in Our Work  The Bible stresses that work should be performed in such a manner as it will please God who always sees not only what pleases people when they are watching (Colossians 3:22 -24). Responsible Research  Responsible research is a critical component of education, and any individual conducting research must learn how to investigate, read, understand, systematize, interpret, and finally explain complex ideas and issues in writing.  An individual conducting research must also understand that ideas found in literature, media presentations, interviews or any other form of media do not belong to the researcher and therefore must be given credit through proper documentation. Giving Proper Credit  It is required that everyone conducting research provides proper credit through the correct use of documentation. To not do so would not only be considered plagiarism, but would also be considered disrespectful to the originator of the idea. Using Turnitin  To insure that all papers possess originality faculty members will use a program referred to as Turnitin.  Any paper exceeding 20% of non -original material or noticeable undocumented information will be subject to a discount in points at the discretion of the faculty. APA Requirements  Learn the APA formatting and style and be careful to pay close attention to the general APA guidelines. General APA Guidelines  Your essay should:  Typed and double -spaced  Have 1” margins  Use 12 point; Times New Roman font  Printed on 8.5” x 11” white paper General APA Guidelines, cont.  Your essay should include three major sections Reference Main Body Title page General APA Guidelines, cont.  Every page of your essay should include:  A page header (title in all caps) in the upper left -hand corner and the page number in the upper right -hand corner. Title Page Page header: Insert blank header, flush left. Tab over to right -hand corner. Insert page number at “current position.” Title (abbreviated if need be) in all caps. Start title 17 single spaces from header Title in boldface Student Name Semester and Year Institution – City, State (double space between each) Main Body Include page header and page numbers. Indent paragraphs 1 inch margins Top, bottom, left, right Double -spaced 12 pt., Times New Roman Reference Page Include page header and page numbers . Hanging indent for all lines after first line of entry List entries alphabetically Label page “References” No bold, italics, or underline Entries are double spaced like the rest of the essay Reference List  APA is a complex system of citation. When compiling the reference list, the strategy below might be useful:  Identify the type of source; Is it a book, journal article, web page, etc.?  Find a sample citation for this type of source in the APA Manual (6 th , Ed.) or the Belhaven APA Quick Reference Style and Formatting Guide: Right -click here and select “Open Hyperlink” to download the Quick Guide.  Mirror the sample formatting for all references  Make sure that the entries are listed in alphabetical order and that the subsequent lines are indented. Reference List, cont.  Invert authors’ names (last name first followed by initials)  Example: “ Smith, J.Q.”  Capitalize only the first letter of the first word of a title and subtitle, the first word after a colon or a dash in the title, and proper nouns. Do not capitalize the first letter of the second word in a hyphenated compound word.  Example: The perfectly formatted paper: How Belhaven improved my essay writing. Reference List, cont.  Capitalize the first major word in journal titles.  Italicize titles of works such as books and journals.  Do not italicize, underline, or put quotes around the titles of essays in edited collections. In – Text Citations  In -text citations help readers locate the cited source in the “References” section of the paper.  Whenever you use a source, provide the author’ s name and the date of publication in parentheses.  Example: Underwood and Findlay (2014) studied the relationship between Internet use and attention span. In – Text Citations, cont.  For quotations and close paraphrases, provide the author ’s name, date of publication, and a page number. For example:  Recent studies have demonstrated that children’s frequent Internet use decreases their attention span (Underwood & Findlay, 2014, p. 82).  Underwood and Findlay (2014) have argued, “The huge amount of content available online has significantly decreased the modern day consumer’s attention span” (p. 84). In – Text Citations, cont.  Keep the citation brief — do not repeat the information. If you have given the author’s name and year of publication in the text of your sentence, then you do not need to repeat it in parentheses. Introducing Quotations  You must always introduce quotations with signal phrases, e.g.:  According to Hammond (2014), “….” (p. 3).  Anker (2012) argued that “……” (p. 3).  Use signal verbs such as:  claimed, asserted, acknowledged, contended, maintained, responded, reported, argued, concluded, etc.  Use the past tense or the present perfect tense of verbs in signal phrases when they discuss past events. Further References/Sources  For specific questions regarding APA formatting, consult one of the following links and sources:  The Belhaven APA Quick Style and Formatting Guide: Right -click here and select “Open Hyperlink” to download the Quick Guide.  Hacker, D. (2009). Rules for Writers (6th ed.). Boston: Bedford/St. Martin’s. ( See particularly pp. 476 – 528.)  Angeli, E., Wagner, J., Lawrick, E., Moore, K., Anderson, M., Soderlund, L., & Brizee, A. (2010, May 5). General format . Retrieved from http://owl.english.purdue.edu/owl/resource/560/01/ Basic Components of the Paper  Recommendations for introduction of paper:  Three elements  Attention getting  Definitive purpose statement  Lay out key points of your paper  Should be brief (3 -6 sentences)  Avoid definitions Basic Components of the Paper, cont.  Recommendations for body of paper:  If case study, only include minimal background information  New assertions are made for each paragraph that correlates with topic sentence  Include short transitional sentences or paragraphs as appropriate between major sections Basic Components of the Paper, cont.  Recommendations for conclusion of paper:  Should be brief (4 -6 sentences) that recaps main points covered  Avoid any new content  If paper includes some sort of “lessons learned” include this as the last section of the main body Writing with Originality  Content must be original thought  Draw on personal experience and insights from reading material or discussions  Support with recognized authors  Cannot reuse content from previous papers This Concludes Unit 2  Recapping Unit 2  Professional vs. Academic writing  Research based papers  Plagiarism  APA as a writing style  Writing basics References  Belhaven APA PowerPoint Slides  American Psychological Association. (2001). Publication Manual of the American Psychological Association. (5th ed.). Washington, DC: American Psychological Association.  Goldhaber, G.M. (1993). Organizational Communication . (6th. Ed.), Buffalo, NY: State University of New York. References, cont.  American Psychological Association. (2009). Fast facts. Retrieved Dec, 2009, from http :// apastyle.apa.org

Excelsior College Disorders of Glycogen and Fatty Acid Metabolism Essay

Description

DISORDER- TYPE 5- MCARDIES DISEASE (POWERPOINT)

Using the suggested outline below, give a detailed research presentation on any disorder of
glycogen or fatty acid metabolism of your choice. You should employ scientific
sources/literature including review articles in your research and be sure to use the AMA
format. It should be detailed, comprehensive, well-organized and should have the appropriate
language for scientific communication.
Outline:
– Introduction
– Epidemiology
– Etiology
– Types/ Classification
– Signs/ Symptoms
– Normal and Abnormal Biochemistry
– Pathologic Features/Genetic Basis of Disease
PLEASE LIST ALL REFERENCES

Please answer questions on word doc, show work for graph questions.

Please answer questions on word doc, show work for graph questions.

Please answer questions on word doc, show work for graph questions.
Adverse Selection Imagine a health insurance market with 100 people. In this market in Year 1, 40 people expect to have $0 in health expenses per year, 35 people expect to have $250 in health expenses per year, 12 people expect $5,000 in health expenses per year, 10 people expect $10,000 in health expenses and 2 people expect $25,000 in health expenses and 1 person expects $40,000 in health expenses over the entire year. Assume insurance covers 100% of medical expenses and premiums are equal to expected costs. What is the expected cost of insurance in year 1? Note, use this premium as the Y1 premium across all parts of this problem. In Year 1 how many people would choose to buy insurance and how many would not choose to buy insurance based on the premium and their expected benefits? What would the Y2 premium be based on the individuals who choose to buy insurance? Describe adverse selection in health insurance in your own words B. Administrative Costs Health care has relatively high administrative costs (about 15% of total costs). Assume the current cost of health care (including administrative costs) is $500 per person per month (PMPM) i. How much of the $500 is due to administrative costs? ii. How much is due to non-administrative costs? iii. If administrative costs are reduced to 5% of total costs, what is the new total cost? iv. If Demand is 100M at $500 and 0 at $1000, graph on graph paper the Demand at the new price? (Hint, no supply curve here, only demand curve) v. Describe what is happening in words Essays (2 Paragraphs) “The Role of market Forces in U.S. Health Care” by Mike Chernew describes key issues in health policy and what to do about it. Describe two issues causing market forces not to work well for health care Name one place where markets have been successful in health care? What would you do to improve health care markets in the United States Comparative Health Systems Please describe 2 similarities between the German healthcare system and the US health care system Please describe 2 differences between the German healthcare system and the US healthcare system What does the US do better than other countries in the world at? What does it do worse than other countries from a health care perspective What is the main takeaway of the article, “It’s the Prices Stupid”. Do you agree? Why or why not?

Question 1. Perfect labor mobility would tend to equalize real wage rates in participating countries. In reality, complete wage equalization does not occur. Why? In addition, if stringent restrictions

Question 1. Perfect labor mobility would tend to equalize real wage rates in participating countries. In reality, complete wage equalization does not occur. Why? In addition, if stringent restrictions are imposed on migration, what will happen to capital in high-wage countries? Explain using the Rybczynski model.

Your response must be at least 200 words in length.

Question 2. The gravity equation states that countries with higher GDP, or that are close, will trade more. In addition, research has shown that there is more trade within countries than between countries. Explain why there there is more trade within countries.

Your response must be at least 200 words in length.

Question 3. What are the two sources of economies of scale? How do these economies of scale lead to intraindustry trade?

Your response must be at least 200 words in length.

Question 4. Define the foreign direct investment (FDI), and explain which of the following are FDIs and which are not.

  1. A Japanese businessman purchaces £15 million of BP shares on the London Stock Exchange.
  2. A British businessman purchaces a hotel in Rome, Italy.
  3. A German company and a British company establish a joint venture in Russia.
  4. A Russian firm establishes a subsidiary in Italy.

Your response must be at least 200 words in length.

Miami Dade College The Impact of Health Conditions on Metabolism Presentation

Description

This PowerPoint is 10 slides on health conditions that affect metabolism

Suggested Topics

Pick any health supplements (for example, multi-vitamin multi-mineral) or other supplements and describe their effects on the human body and health.

– Describe how radio-isotopes are used for diagnosis or therapy.

– Pick any organelle and research on disorders/diseases that occur when that organelle malfunctions.

– Describe a disease or a disorder that occurs due to non-disjunction.

– Describe health conditions that affect metabolism.

– Describe how histology can be used as a diagnostic tool.

– Describe effects of radiation on skin health.

– Anatomical deformities/disorders of skeletal system/joints.

– Physiological disorders of the skeletal system.

 

University of Phoenix – DAT/305 – Individual: GraphsResource: Ch. 10, “Graphs”, of Data Structures: Abstraction and Design Using Java, Exercises for Section 10.4; Self-Check #1Complete the Self-Check

University of Phoenix – DAT/305 – Individual: Graphs


Resource:

Ch. 10, “Graphs”, of

Data Structures: Abstraction and Design Using Java

, Exercises for Section 10.4; Self-Check #1


Complete

the Self-Check Question #1 within “Exercises for Sections 10.4” subsection in Section 10.4, “Traversals of Graphs” of Ch. 10, “Graphs” in

Data Structures: Abstraction and Design Using Java.


Document

the breadth-first search trees in the Self-Check question.


Submit

the assignment to the Assignment Files tab.

University of Phoenix – DAT/305 – Individual: GraphsResource: Ch. 10, “Graphs”, of Data Structures: Abstraction and Design Using Java, Exercises for Section 10.4; Self-Check #1Complete the Self-Check
Chapter 10 Graphs Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph ADT (abstract data type) and different implementations of the Graph ADT To learn the breadth-first and depth-first search traversal algorithms To learn some algorithms involving weighted graphs To study some applications of graphs and graph algorithms One of the limitations of trees is that they cannot represent information structures in which a data item has more than one parent. In this chapter, we introduce a data structure known as a graph that will allow us to overcome this limitation. Graphs and graph algorithms were being studied long before computers were invented. The advent of the computer made the application of graph algorithms to real-world problems possible. Graphs are especially useful in analyzing networks. Thus, it is not surprising that much of modern graph theory and application was developed at Bell Laboratories, which needed to analyze the very large communications network that is the telephone system. Graph algorithms are also incorporated into the software that makes the Internet function. You can also use graphs to describe a road map, airline routes, or course prerequisites. Computer chip designers use graph algorithms to determine the optimal placement of components on a silicon chip. You will learn how to represent a graph, determine the shortest path through a graph, and find the minimum subset of a graph. Graphs 10.1 Graph Terminology 10.2 The Graph ADT and Edge Class 10.3 Implementing the Graph ADT 10.4 Traversals of Graphs 10.5 Applications of Graph Traversals Case Study: Shortest Path through a Maze Case Study: Topological Sort of a Graph 10.6Algorithms Using Weighted Graphs 10.1 Graph Terminology A graph is a data structure that consists of a set of vertices (or nodes) and a set of edges (relations) between the pairs of vertices. The edges represent paths or connections between the vertices. Both the set of vertices and the set of edges must be finite, and either set may be empty. If the set of vertices is empty, naturally the set of edges must also be empty. We restrict our discussion to simple graphs in which there is at most one edge from a given vertex to another vertex. EXAMPLE 10.1 The following set of vertices, V, and set of edges, E, define a graph that has five vertices, with labels A through E, and four edges. V = {A, B, C, D, E} E = {{A, B}, {A, D}, {C, E}, {D, E}} Each edge is a set of two vertices. There is an edge between A and B (the edge {A, B}), between A and D, between C and E, and between D and E. If there is an edge between any pair of vertices x, y, this means there is a path from vertex x to vertex y and vice versa. We discuss the significance of this shortly. Visual Representation of Graphs Visually we represent vertices as points or labeled circles and the edges as lines joining the vertices. Figure 10.1 shows the graph from Example 10.1. image FIGURE 10.1 Graph Given in Example 10.1 There are many ways to draw any given graph. The physical layout of the vertices, and even their labeling, are not relevant. Figure 10.2 shows two ways to draw the same graph. image FIGURE 10.2 Two Representations of the Same Graph Directed and Undirected Graphs The edges of a graph are directed if the existence of an edge from A to B does not necessarily guarantee that there is a path in both directions. A graph that contains directed edges is known as a directed graph or digraph, and a graph that contains undirected edges is known as an undirected graph or simply a graph. A directed edge is like a one-way street; you can travel on it in only one direction. Directed edges are represented as lines with an arrow on one end, whereas undirected edges are represented as single lines. The graph in Figure 10.1 is undirected; Figure 10.3 shows a directed graph. The set of edges for the directed graph follows: image FIGURE 10.3 Example of a Directed Graph E = {(A, B), (B, A), (B, E), (D, A), (E, A), (E, C), (E, D)} Each edge above is an ordered pair of vertices instead of a set as in an undirected graph. The edge (A, B) means there is a path from A to B. Observe that there is a path from both A to B and from B to A, but these are the only two vertices in which there is an edge in both directions. Our convention will be to denote an edge for a directed graph as an ordered pair (u, v) where this notation means that v (the destination) is adjacent to u (the source). We denote an edge in an undirected graph as the set {u, v}, which means that u is adjacent to v and v is adjacent to u. Therefore, you can create a directed graph that is equivalent to an undirected graph by substituting for each edge {u, v} the ordered pairs (u, v) and (v, u). In general, when we describe graph algorithms in this chapter, we will use the ordered pair notation (u, v) for an edge. The edges in a graph may have values associated with them known as their weights. A graph with weighted edges is known as a weighted graph. In an illustration of a weighted graph, the weights are shown next to the edges. Figure 10.4 shows an example of a weighted graph. Each weight is the distance between the two cities (vertices) connected by the edge. Generally, the weights are nonnegative, but there are graph problems and graph algorithms that deal with negative weighted edges. image FIGURE 10.4 Example of a Weighted Graph Paths and Cycles One reason we study graphs is to find pathways between vertices. We use the following definitions to describe pathways between vertices. A vertex is adjacent to another vertex if there is an edge to it from that other vertex. In Figure 10.4, Philadelphia is adjacent to Pittsburgh. In Figure 10.3, A is adjacent to D, but since this is a directed graph, D is not adjacent to A. A path is a sequence of vertices in which each successive vertex is adjacent to its predecessor. In Figure 10.5, the following sequence of vertices is a path: Philadelphia → Pittsburgh → Columbus → Indianapolis → Chicago. In a simple path, the vertices and edges are distinct, except that the first and last vertices may be the same. In Figure 10.5, the path Philadelphia → Pittsburgh → Columbus → Indianapolis → Chicago is a simple path. The path Philadelphia → Pittsburgh → Columbus → Indianapolis → Chicago → Fort Wayne → Indianapolis is a path but not a simple path (see Figure 10.6). A cycle is a simple path in which only the first and final vertices are the same. In Figure 10.7, the path Pittsburgh → Columbus → Toledo → Cleveland → Pittsburgh is a cycle. For an undirected graph, a cycle must contain at least three distinct vertices. Thus, Pittsburgh → Columbus → Pittsburgh is not considered a cycle. An undirected graph is called a connected graph if there is a path from every vertex to every other vertex. Figure 10.7 is a connected graph, whereas Figure 10.8 is not. If a graph is not connected, it is considered unconnected, but it will still consist of connected components. A connected component is a subset of the vertices and the edges connected to those vertices in which there is a path between every pair of vertices in the component. A single vertex with no edges is also considered a connected component. Figure 10.8 consists of the connected components {0, 1, 2, 3, 4, 5, 6}, {7, 8}, and {9, 10, 11, 12}. image FIGURE 10.5 A Simple Path image FIGURE 10.6 Not a Simple Path image FIGURE 10.7 A Cycle image FIGURE 10.8 Example of an Unconnected Graph Relationship between Graphs and Trees The graph is the most general of the data structures we have studied. It allows for any conceivable relationship among the data elements (the vertices). A tree is actually a special case of a graph. Any graph that is connected and contains no cycles can be viewed as a tree by picking one of its vertices (nodes) as the root. For example, the graph shown in Figure 10.1 can be viewed as a tree if we consider the node labeled D to be the root (see Figure 10.9). image FIGURE 10.9 A Graph Viewed as a Tree Graph Applications We can use graphs to help solve a number of different kinds of problems. For example, we might want to know whether there is a connection from one node in a network to all others. If we can show that the graph is connected, then a path must exist from one node to every other node. In college you must take some courses before you take others. These are called prerequisites. Some courses have multiple prerequisites, and some prerequisites have prerequisites of their own. It can be quite confusing. You may even feel that there is a loop in the maze of prerequisites and that it is impossible to schedule your classes to meet the prerequisites. We can represent the set of prerequisites by a directed graph. If the graph has no cycles, then we can find a solution. We can also find the cycles. Another application would be finding the least-cost path or shortest path from each vertex to all other vertices in a weighted graph. For example, in Figure 10.4, we might want to find the shortest path from Philadelphia to Chicago. Or we might want to create a table showing the distance (miles in the shortest route) between each pair of cities. EXERCISES FOR SECTION 10.1 SELF-CHECK In the graph shown in Figure 10.1, what vertices are adjacent to D? Also check in Figure 10.3. In Figure 10.3, is it possible to get from A to all other vertices? How about from C? In Figure 10.4, what is the shortest path from Philadelphia to Chicago? 10.2 The Graph ADT and Edge Class Java does not provide a Graph ADT, so we have the freedom to design our own. To write programs for the applications mentioned at the end of the previous section, we need to be able to navigate through a graph or traverse it (visit all its vertices). To accomplish this, we need to be able to advance from one vertex in a graph to all its adjacent vertices. Therefore, we need to be able to do the following: Create a graph with the specified number of vertices. Iterate through all of the vertices in the graph. Iterate through the vertices that are adjacent to a specified vertex. Determine whether an edge exists between two vertices. Determine the weight of an edge between two vertices. Insert an edge into the graph. With the exception of item 1, we can specify these requirements in a Java interface. Since a Java interface cannot include a constructor, the requirements for item 1 can only be specified in the comment at the beginning of the interface. Listing 10.1 gives the declaration of the Graph interface. LISTING 10.1 Graph.java import java.util.*; /** Interface to specify a Graph ADT. A graph is a set of vertices and a set of edges. Vertices are represented by integers from 0 to n – 1. Edges are ordered pairs of vertices. Each implementation of the Graph interface should provide a constructor that specifies the number of vertices and whether or not the graph is directed. */ public interface Graph { // Accessor Methods /** Return the number of vertices. @return The number of vertices */ int getNumV(); /** Determine whether this is a directed graph. @return true if this is a directed graph */ boolean isDirected(); /** Insert a new edge into the graph. @param edge The new edge */ void insert(Edge edge); /** Determine whether an edge exists. @param source The source vertex @param dest The destination vertex @return true if there is an edge from source to dest */ boolean isEdge(int source, int dest); /** Get the edge between two vertices. @param source The source vertex @param dest The destination vertex @return The Edge between these two vertices or null if there is no edge */ Edge getEdge(int source, int dest); /** Return an iterator to the edges connected to a given vertex. @param source The source vertex @return An Iterator to the vertices connected to source */ Iterator edgeIterator(int source); Representing Vertices and Edges Before we can implement this interface, we must decide how to represent the vertices and edges of a graph. We can represent the vertices by integers from 0 up to, but not including, |V|. (|V| means the cardinality of V, or the number of vertices in set V.) For edges we will define the class Edge that will contain the source vertex, the destination vertex, and the weight. For unweighted edges we will use the default value of 1.0. Table 10.1 shows the Edge class. Observe that an Edge is directed. For undirected graphs, we will always have two Edge objects: one in each direction for each pair of vertices that has an edge between them. A vertex is represented by a type int variable. TABLE 10.1 The Edge Class Data Field Attribute private int dest The destination vertex for an edge private int source The source vertex for an edge private double weight The weight Constructor Purpose public Edge(int source, int dest) Constructs an Edge from source to dest. Sets the weight to 1.0 public Edge(int source, int dest, double w) Constructs an Edge from source to dest. Sets the weight to w Method Behavior public boolean equals(Object o) Compares two edges for equality. Edges are equal if their source and destination vertices are the same. The weight is not considered public int getDest() Returns the destination vertex public int getSource() Returns the source vertex public double getWeight() Returns the weight public int hashCode() Returns the hash code for an edge. The hash code depends only on the source and destination public String toString() Returns a string representation of the edge EXERCISES FOR SECTION 10.2 SELF-CHECK Use the constructors in Table 10.1 to create the Edge objects connecting vertices 9 through 12 for the graph in Figure 10.8. PROGRAMMING Implement the Edge class. 10.3 Implementing the Graph ADT Because graph algorithms have been studied and implemented throughout the history of computer science, many of the original publications of graph algorithms and their implementations did not use an object-oriented approach and did not even use ADTs. The implementation of the graph was done in terms of fundamental data structures that were used directly in the algorithm. Different algorithms would use different representations. Two representations of graphs are most common: Edges are represented by an array of lists called adjacency lists, where each list stores the vertices adjacent to a particular vertex. Edges are represented by a two-dimensional array, called an adjacency matrix, with |V| rows and |V| columns. Adjacency List An adjacency list representation of a graph uses an array of lists. There is one list for each vertex. Figure 10.10 shows an adjacency list representation of a directed graph. The list referenced by array element 0 shows the vertices (1 and 3) that are adjacent to vertex 0. The vertices are in no particular order. For simplicity, we are showing just the destination vertex as the value field in each node of the adjacency list, but in the actual implementation the entire Edge will be stored. Instead of storing value = 1 (the destination vertex) in the first vertex adjacent to 0, we will store a reference to the Edge (0, 1, 1.0) where 0 is the source, 1 is the destination, and 1.0 is the weight. The Edge must be stored (not just the destination) because weighted graphs can have different values for weights. image FIGURE 10.10 Adjacency List Representation of a Directed Graph For an undirected graph (or simply a “graph”), symmetric entries are required. Thus, if {u, v} is an edge, then v will appear on the adjacency list for u and u will appear on the adjacency list for v. Figure 10.11 shows the adjacency list representation for an undirected graph. The actual lists will store references to Edges. image FIGURE 10.11 Adjacency List Representation of an Undirected Graph Adjacency Matrix The adjacency matrix uses a two-dimensional array to represent the graph. For an unweighted graph, the entries in this matrix can be boolean values, where true represents the presence of an edge and false its absence. Another popular method is to use the value 1 for an edge and 0 for no edge. The integer coding has benefits over the boolean approach for some graph algorithms that use matrix multiplication. For a weighted graph, the matrix would contain the weights. Since 0 is a valid weight, we will use Double.POSITIVE_INFINITY (a special double value in Java that approximates the mathematical behavior of infinity) to indicate the absence of an edge, and in an unweighted graph we will use a weight of 1.0 to indicate the presence of an edge. Figure 10.12 shows a directed graph and the corresponding adjacency matrix. Instead of using Edge objects, an edge is indicated by the value 1.0, and the lack of an edge is indicated by a blank space. image FIGURE 10.12 Directed Graph and Corresponding Adjacency Matrix If the graph is undirected, then the matrix is symmetric, and only the lower diagonal of the matrix needs be saved (the colored squares in Figure 10.13). image FIGURE 10.13 Undirected Graph and Adjacency Matrix Representation Overview of the Hierarchy We will describe Java classes that use each representation. Each class will extend a common abstract superclass. The interface Graph was introduced in Section 10.2. The class Edge was also described in that section. We will define the class AbstractGraph to represent a graph in general. The classes ListGraph and MatrixGraph will provide concrete representations of graphs using an adjacency list and adjacency matrix, respectively (see Figure 10.14). The MatrixGraph class contains an inner class (indicated by the ⊕ symbol) that we call Iter, which implements the Iterator interface. image FIGURE 10.14 UML Class Diagram of Graph Class Hierarchy Class AbstractGraph We will use an abstract class, AbstractGraph, as the common superclass for graph implementations. This will enable us to implement some of the methods for the Graph interface in the abstract superclass and leave other methods that are implementation specific to its subclasses. Graph algorithms will be designed to work on objects that meet the requirements defined by this abstract class. This class is summarized in Table 10.2. Note that the methods edgeIterator, getEdge, insert, and isEdge, which are required by the Graph interface (see Listing 10.1), are implicitly declared abstract and must be declared in the concrete subclasses. TABLE 10.2 The Abstract Class AbstractGraph Data Field Attribute private boolean directed true if this is a directed graph private int numV The number of vertices Constructor Purpose public AbstractGraph(int numV, boolean directed) Constructs an empty graph with the specified number of vertices and with the specified directed flag. If directed is true, this is a directed graph Method Behavior public int getNumV() Gets the number of vertices public boolean isDirected() Returns true if the graph is a directed graph public void loadEdgesFromFile(Scanner scan) Loads edges from a data file public static Graph createGraph (Scanner scan, boolean isDirected, String type) Factory method to create a graph and load the data from an input file Implementation The implementation is shown in Listing 10.2. Method loadEdgesFromFile reads edges from individual lines of a data file (see Programming Exercise 1). LISTING 10.2 AbstractGraph.java import java.util.*; import java.io.*; /** Abstract base class for graphs. A graph is a set of vertices and a set of edges. Vertices are represented by integers from 0 to n – 1. Edges are ordered pairs of vertices. */ public abstract class AbstractGraph implements Graph { // Data Fields /** The number of vertices */ private int numV; /** Flag to indicate whether this is a directed graph */ private boolean directed; // Constructor /** Construct a graph with the specified number of vertices and the directed flag. If the directed flag is true, this is a directed graph. @param numV The number of vertices @param directed The directed flag */ public AbstractGraph(int numV, boolean directed) { this.numV = numV; this.directed = directed; } // Accessor Methods /** Return the number of vertices. @return The number of vertices */ public int getNumV() { return numV; } /** Return whether this is a directed graph. @return true if this is a directed graph */ public boolean isDirected() { return directed; } // Other Methods /** Load the edges of a graph from the data in an input file. The file should contain a series of lines, each line with two or three data values. The first is the source, the second is the destination, and the optional third is the weight. @param scan The Scanner connected to the data file */ public void loadEdgesFromFile(Scanner scan) { // Programming Exercise 1 } /** Factory method to create a graph and load the data from an input file. The first line of the input file should contain the number of vertices. The remaining lines should contain the edge data as described under loadEdgesFromFile. @param scan The Scanner connected to the data file @param isDirected true if this is a directed graph, false otherwise @param type The string “Matrix” if an adjacency matrix is to be created, and the string “List” if an adjacency list is to be created @throws IllegalArgumentException if type is neither “Matrix” nor “List” */ public static Graph createGraph(Scanner scan, boolean isDirected, String type) { int numV = scan.nextInt(); AbstractGraph returnValue; type = type.toLowerCase(); switch (type) { case “matrix”: returnValue = new MatrixGraph(numV, isDirected); break; case “list”: returnValue = new ListGraph(numV, isDirected); break; default: throw new IllegalArgumentException(); } returnValue.loadEdgesFromFile(scan); return returnValue; } The ListGraph Class The ListGraph class extends the AbstractGraph class by providing an internal representation using an array of lists. Table 10.3 describes the ListGraph class. TABLE 10.3 The ListGraph Class Data Field Attribute private List[] edges An array of Lists to contain the edges that originate with each vertex Constructor Purpose public ListGraph(int numV, boolean directed) Constructs a graph with the specified number of vertices and directionality Method Behavior public Iterator edgeIterator(int source) Returns an iterator to the edges that originate from a given vertex public Edge getEdge(int source, int dest) Gets the edge between two vertices public void insert(Edge e) Inserts a new edge into the graph public boolean isEdge(int source, int dest) Determines whether an edge exists from vertex source to dest The Data Fields The class begins as follows: import java.util.*; /** A ListGraph is an extension of the AbstractGraph abstract class that uses an array of lists to represent the edges. */ public class ListGraph extends AbstractGraph { // Data Field /** An array of Lists to contain the edges that originate with each vertex. */ private List[] edges; . . . The Constructor The constructor allocates an array of LinkedLists, one for each vertex. /** Construct a graph with the specified number of vertices and directionality. @param numV The number of vertices @param directed The directionality flag */ public ListGraph(int numV, boolean directed) { super(numV, directed); edges = new List[numV]; for (int i = 0; i < numV; i++) { edges[i] = new LinkedList(); } } The isEdge Method Method isEdge determines whether an edge exists by searching the list associated with the source vertex for an entry. This is done by calling the contains method for the List. /** Determine whether an edge exists. @param source The source vertex @param dest The destination vertex @return true if there is an edge from source to dest */ public boolean isEdge(int source, int dest) { return edges[source].contains(new Edge(source, dest)); } Observe that we had to create a dummy Edge object for the contains method to search for. The Edge.equals method does not check the edge weights, so the weight parameter is not needed. The insert Method The insert method inserts a new edge (source, destination, weight) into the graph by adding that edge’s data to the list of adjacent vertices for that edge’s source. If the graph is not directed, it adds a new edge in the opposite direction (destination, source, weight) to the list of adjacent vertices for that edge’s destination. /** Insert a new edge into the graph. @param edge The new edge */ public void insert(Edge edge) { edges[edge.getSource()].add(edge); if (!isDirected()) { edges[edge.getDest()].add(new Edge(edge.getDest(), edge.getSource(), edge.getWeight())); } } The edgeIterator Method The edgeIterator method will return an Iterator object that can be used to iterate through the edges adjacent to a given vertex. Because each LinkedList entry in the array edges is a List, its iterator method will provide the desired object. Thus, the edgeIterator merely calls the corresponding iterator method for the specified vertex. public Iterator edgeIterator(int source) { return edges[source].iterator(); } The getEdge Method Similar to the isEdge method, the getEdge method also requires a search. However, we need to program the search directly. We will use the enhanced for statement to access all edges in the list for vertex source. We compare each edge to a target object with source and destination set to the method arguments. The equals method does not compare edge weights, only the vertices. /** Get the edge between two vertices. @param source The source @param dest The destination @return the edge between these two vertices or null if an edge does not exist. */ public Edge getEdge(int source, int dest) { Edge target = new Edge(source, dest, Double.POSITIVE_INFINITY); for (Edge edge: edges[source]) { if (edge.equals(target)) return edge; // Desired edge found, return it. } // Assert: All edges for source checked. return null; // Desired edge not found. } The MatrixGraph Class The MatrixGraph class extends the AbstractGraph class by providing an internal representation using a two-dimensional array for storing the edge weights double[][] edges; When a new MatrixGraph object is created, the constructor sets the number of rows (vertices) in this array. It implements the same methods as class ListGraph and also has an inner iterator class Iter. It needs its own iterator class because there is no Iterator class associated with an array. The implementation is left as a project (Programming Project 1). Comparing Implementations Time Efficiency The two implementations present a tradeoff. Which is best depends on the algorithm and the density of the graph. The density of a graph is the ratio of |E| to |V|2. A dense graph is one in which |E| is close to but less than |V|2, and a sparse graph is one in which |E| is much less than |V|2. Therefore, for a dense graph we can assume that |E| is O(|V|2), and for a sparse graph we can assume that |E| is O(|V|). Many graph algorithms are of the form: 1. for each vertex u in the graph 2. for each vertex v adjacent to u 3. Do something with edge (u, v). For an adjacency list representation, Step 1 is O(|V|) and Step 2 is O(|Eu|), where |Eu| is the number of edges that originate at vertex u. Thus, the combination of Steps 1 and 2 will represent examining each edge in the graph, giving O(|E|). For an adjacency matrix representation, Step 2 is also O(|V|), and thus the overall algorithm is O(|V|2). Thus, for a sparse graph, the adjacency list gives better performance for this type of algorithm, whereas for a dense graph, the performance is the same for either representation. Some graph algorithms are of the form 1. for each vertex u in some subset of the vertices 2. for each vertex v in some subset of the vertices 3. if (u, v) is an edge 4. Do something with edge (u, v). For an adjacency matrix representation, Step 3 tests a matrix value and is O(1), so the overall algorithm is O(|V|2). However, for an adjacency list representation, Step 3 searches a list and is O(|Eu|), so the combination of Steps 2 and 3 is O(|E|) and the overall algorithm is O(|V||E|). For a dense graph, the adjacency matrix gives the best performance for this type of algorithm, and for a sparse graph, the performance is the same for both representations. Thus, if a graph is dense, the adjacency matrix representation is best, and if a graph is sparse, the adjacency list representation is best. Intuitively, this makes sense because a sparse graph will lead to a sparse matrix, or one in which most entries are POSITIVE_INFINITY. These entries are not included in a list representation, so they will have no effect on processing time. However, they are included in a matrix representation and will have an undesirable impact on processing time. Storage Efficiency Note that storage is allocated for all vertex combinations (or at least half of them) in an adjacency matrix. So the storage required is proportional to |V|2. If the graph is sparse (not many edges), there will be a lot of wasted space in the adjacency matrix. In an adjacency list, only the adjacent edges are stored. On the other hand, in an adjacency list, each edge is represented by a reference to an Edge object containing data about the source, destination, and weight. There is also a reference to the next edge in the list. In a matrix representation, only the weight associated with an edge is stored. So each element in an adjacency list requires approximately four times the storage of an element in an adjacency matrix. Based on this, we can conclude that the break-even point in terms of storage efficiency occurs when approximately 25 percent of the adjacency matrix is filled with meaningful data. That is, the adjacency list uses less (more) storage when less than (more than) 25 percent of the adjacency matrix would be filled. The MapGraph Class We can achieve the performance benefits of both the ListGraph and MatrixGraph by making a slight modification to the ListGraph. Replacing the array of List with an array of Map allows us to query the existence of an edge in O(1) time, and using the LinkedHashMap allows iterating through the edges adjacent to a given vertex in O(|Eu|). The constructor is changed to public MapGraph(int numV, boolean isDirected) { super(numV, isDirected); outgoingEdges = new Map[numV]; for (int i = 0; i < numV; i++) { outgoingEdges[i] = new LinkedHashMap<>(); } } The insertEdge method is changed to public void insertEdge(Edge edge) { int source = edge.getSource(); int dest = edge.getDest(); double weight = edge.getWeight(); outgoingEdges[source].put(dest, edge); if (!isDirected()) { Edge reverseEdge = new Edge(dest, source, weight); outgoingEdges[dest].put(source, reverseEdge); } } The isEdge and getEdge methods are simplified to public boolean isEdge(int source, int dest) { return outgoingEdges[source].containsKey(dest); } public Edge getEdge(int source, int dest) { return outgoingEdges[source].get(dest); } And the edgeIterator becomes public Iterator edgeIterator(int source) { return outgoingEdges[source].values().iterator(); } EXERCISES FOR SECTION 10.3 SELF-CHECK Represent the following graphs using adjacency lists. image Represent the graphs in Exercise 1 above using an adjacency matrix. For each graph in Exercise 1, what are the |V|, the |E|, and the density? Which representation is best for each graph? Explain your answers. PROGRAMMING Implement the loadEdgesFromFile method for class AbstractGraph. If there are two values on a line, an edge with the default weight of 1.0 is inserted; if there are three values, the third value is the weight. 10.4 Traversals of Graphs Most graph algorithms involve visiting each vertex in a systematic order. Just as with trees, there are different ways to do this. The two most common traversal algorithms are breadth first and depth first. Although these are graph traversals, they are more commonly called breadth-first and depth-first search. Breadth-First Search In a breadth-first search, we visit the start node first, then all nodes that are adjacent to it next, then all nodes that can be reached by a path from the start node containing two edges, three edges, and so on. The requirement for a breadth-first search is that we must visit all nodes for which the shortest path from the start node is length k before we visit any node for which the shortest path from the start node is length k + 1. You can visualize a breadth-first traversal by “picking up” the graph at the vertex that is the start node, so the start node will be the highest node and the rest of the nodes will be suspended underneath it, connected by their edges. In a breadth-first search, the nodes that are higher up in the picked-up graph are visited before nodes that are lower in the graph. Breadth-first search starts at some vertex. Unlike the case of a tree, there is no special start vertex, so we will arbitrarily pick the vertex with label 0. We then visit it by identifying all vertices that are adjacent to the start vertex. Then we visit each of these vertices, identifying all of the vertices adjacent to them. This process continues until all vertices are visited. If the graph is not a connected graph, then the process is repeated with one of the unidentified vertices. In the discussion that follows, we use color to distinguish among three states for a node: identified (light gray), visited (dark gray), and not identified (white). Initially, all nodes are not identified. If a node is in the identified state, that node was encountered while visiting another, but it has not yet been visited. Example of Breadth-First Search Consider the graph shown in Figure 10.15. We start at vertex 0 and color it light gray (see Figure 10.16(a)). We visit 0 and see that 1 and 3 are adjacent, so we color them light gray (to show that they have been identified). We are finished visiting 0 and now color it dark gray (see Figure 10.16(b)). So far we have visited node 0. image FIGURE 10.15 Graph to Be Traversed Breadth First image FIGURE 10.16 Example of a Breadth-First Search We always select the first node that was identified (light gray) but not yet visited and visit it next. Therefore, we visit 1 and look at its adjacent vertices: 0, 2, 4, 6, and 7. We skip 0 because it is not colored white, and we color the others light gray. Then we color 1 dark gray (see Figure 10.16(c)). Now we have visited nodes 0 and 1. Then we look at 3 (the first of the light gray vertices in Figure 10.16(c) to have been identified) and see that its adjacent vertex, 2, has already been identified and 0 has been visited, so we are finished with 3 (see Figure 10.16(d)). Now we have visited nodes 0, 1, and 3, which are the starting vertex and all vertices adjacent to it. Now we visit 2 and see that 8 and 9 are adjacent. Then we visit 4 and see that 5 is the only adjacent vertex not identified or visited (Figure 10.16(e)). Finally, we visit 6 and 7 (the last vertices that are two edges away from the starting vertex), then 8, 9, and 5, and see that there are no unidentified vertices (Figure 10.16(f)). The vertices have been visited in the sequence 0, 1, 3, 2, 4, 6, 7, 8, 9, 5. Algorithm for Breadth-First Search To implement breadth-first search, we need to be able to determine the first identified vertex that has not been visited so that we can visit it. To ensure that the identified vertices are visited in the correct sequence, we will store them in a queue (first-in, first-out). When we need a new node to visit, we remove it from the queue. We summarize the process in the following algorithm. Algorithm for Breadth-First Search 1. Take an arbitrary start vertex, mark it identified (color it light gray), and place it in a queue. 2. while the queue is not empty 3. Take a vertex, u, out of the queue and visit u. 4. for all vertices, v, adjacent to this vertex, u 5. if v has not been identified or visited 6. Mark it identified (color it light gray). 7. Insert vertex v into the queue. 8. We are now finished visiting u (color it dark gray). Table 10.4 traces this algorithm on the graph shown earlier in Figure 10.15. The initial queue contents is the start node, 0. The first line shows that after we finish visiting vertex 0, the queue contains nodes 1 and 3, which are adjacent to node 0 and are colored light gray in Figure 10.16(b). The second line shows that after removing 1 from the queue and visiting 1, we insert its neighbors that have not yet been identified or visited: nodes 2, 4, 6, and 7. TABLE 10.4 Trace of Breadth-First Search of Graph in Figure 10.15 Vertex Being Visited Queue Contents after Visit Visit Sequence 0 1 3 0 1 3 2 4 6 7 0 1 3 2 4 6 7 0 1 3 2 4 6 7 8 9 0 1 3 2 4 6 7 8 9 5 0 1 3 2 4 6 7 8 9 5 0 1 3 2 4 6 7 8 9 5 0 1 3 2 4 6 7 8 9 5 0 1 3 2 4 6 7 8 9 5 0 1 3 2 4 6 7 8 9 5 Empty 0 1 3 2 4 6 7 8 9 5 Table 10.4 shows that the nodes were visited in the sequence 0, 1, 3, 2, 4, 6, 7, 8, 9, 5. There are other sequences that would also be valid breadth-first traversals. We can also build a tree that represents the order in which vertices would be visited in a breadth-first traversal, by attaching the vertices as they are identified to the vertex from which they are identified. Such a tree is shown in Figure 10.17. Observe that this tree contains all of the vertices and some of the edges of the original graph. A path starting at the root to any vertex in the tree is the shortest path in the original graph from the start vertex to that vertex, where we consider all edges to have the same weight. Therefore, the shortest path is the one that goes through the smallest number of vertices. We can save the information we need to represent this tree by storing the parent of each vertex when we identify it (Step 7 of the breadth-first algorithm). image FIGURE 10.17 Breadth-First Search Tree of Graph in Figure 10.15 Refinement of Step 7 of Breadth-First Search Algorithm 7.1 Insert vertex v into the queue. 7.2 Set the parent of v to u. Performance Analysis of Breadth-First Search The loop at Step 2 will be performed for each vertex. The inner loop at Step 4 is performed for |Ev| (the number of edges that originate at that vertex). The total number of steps is the sum of the edges that originate at each vertex, which is the total number of edges. Thus, the algorithm is O(|E|). Implementing Breadth-First Search Listing 10.3 shows method breadthFirstSearch. Note that nothing is done when we have finished visiting a vertex (algorithm Step 8). This method declares three data structures: int[] parent, boolean[] identified, and Queue theQueue. The array identified is used to keep track of the nodes that have been previously encountered, and theQueue is used to store nodes that are waiting to be visited. The method returns array parent, which could be used to construct the breadth-first search tree. The element parent[v] contains the parent of vertex v in the tree. The statement parent[neighbor] = current; is used to “insert an edge into the breadth-first search tree.” It does this by setting the parent of a newly identified node (neighbor) as the node being visited (current). If we run the breadthFirstSearch method on the graph shown in Figure 10.15, then the array parent will be defined as follows: image If you compare array parent to Figure 10.17, you can see that parent[i] is the parent of vertex i. For example, the parent of vertex 4 is vertex 1. The entry parent[0] is –1 because node 0 is the start vertex. Although array parent could be used to construct the breadth-first search tree, we are generally not interested in the complete tree but rather in the path from the root to a given vertex. Using array parent to trace the path from that vertex back to the root would give you the reverse of the desired path. For example, the path derived from parent for vertex 4 to the root would be 4 to 1 to 0. If you place these vertices in a stack and then pop the stack until it is empty, you will get the path from the root: 0 to 1 to 4. LISTING 10.3 Class BreadthFirstSearch.java /** Class to implement the breadth-first search algorithm. */ public class BreadthFirstSearch { /** Perform a breadth-first search of a graph. @post The array parent will contain the predecessor of each vertex in the breadth-first search tree. @param graph The graph to be searched @param start The start vertex @return The array of parents */ public static int[] breadthFirstSearch(Graph graph, int start) { Queue theQueue = new LinkedList(); // Declare array parent and initialize its elements to –1. int[] parent = new int[graph.getNumV()]; for (int i = 0; i < graph.getNumV(); i++) { parent[i] = -1; } // Declare array identified and // initialize its elements to false. boolean[] identified = new boolean[graph.getNumV()]; /* Mark the start vertex as identified and insert it into the queue */ identified[start] = true; theQueue.offer(start); /* Perform breadth-first search until done */ while (!theQueue.isEmpty()) {    /* Take a vertex, current, out of the queue. (Begin visiting current). */ int current = theQueue.remove(); /* Examine each vertex, neighbor, adjacent to current. */ Iterator itr = graph.edgeIterator(current); while (itr.hasNext()) { Edge edge = itr.next(); int neighbor = edge.getDest(); // If neighbor has not been identified if (!identified[neighbor]) { // Mark it identified. identified[neighbor] = true; // Place it into the queue. theQueue.offer(neighbor); /* Insert the edge (current, neighbor) into the tree. */ parent[neighbor] = current; } } // Finished visiting current. } return parent; } Depth-First Search Another way to traverse a graph is depth-first search. In depth-first search you start at a vertex, visit it, and choose one adjacent vertex to visit. Then choose a vertex adjacent to that vertex to visit, and so on until you go no further. Then back up and see whether a new vertex (one not previously visited) can be found. In the discussion that follows, we use color to distinguish among three states for a node: being visited (light gray), finished visiting (dark gray), and not yet visited (white). Initially, of course, all nodes are not yet visited. Note that the color light gray is used in depth-first search to indicate that a vertex is in the process of being visited, whereas it was used in our discussion of breadth-first search to indicate that the vertex was identified. Example of Depth-First Search Consider the graph shown in Figure 10.18. We can start at any vertex, but for simplicity we will start at 0. The vertices adjacent to 0 are 1, 2, 3, and 4. We mark 0 as being visited (color it light gray; see Figure 10.19(a)). Next we consider 1. We mark 1 as being visited (see Figure 10.19(b)). The vertices adjacent to 1 are 0, 3, and 4. But 0 is being visited, so we recursively apply the algorithm with 3 as the start vertex. We mark 3 as being visited (see Figure 10.19(c)). The vertices adjacent to 3 are 0, 1, and 4. Because 0 and 1 are already being visited, we recursively apply the algorithm with 4 as the start vertex. We mark 4 as being visited (see Figure 10.19(d)). The vertices adjacent to 4 are 0, 1, and 3. All of these are being visited, so we mark 4 as finished (see Figure 10.19(e)) and return from the recursion. Now all of the vertices adjacent to 3 have been visited, so we mark 3 as finished and return from the recursion. Now all of the vertices adjacent to 1 have been visited, so we mark 1 as finished and return from the recursion to the original start vertex, 0. The order in which we started to visit vertices is 0, 1, 3, 4; the order in which vertices have become finished so far is 4, 3, 1. image FIGURE 10.18 Graph to Be Traversed Depth First image FIGURE 10.19 Example of Depth-First Search We now consider vertex 2, which is adjacent to 0 but has not been visited. We mark 2 as being visited (see Figure 10.19(f)) and consider the vertices adjacent to it: 5 and 6. We mark 5 as being visited (see Figure 10.19(g)) and consider the vertices adjacent to it: 2 and 6. Because 2 is already being visited, we next visit 6. We mark 6 as being visited (see Figure 10.19(h)). The vertices adjacent to 6 (2 and 5) are already being visited. Thus, we mark 6 as finished and recursively return. The vertices adjacent to 5 have all been visited, so we mark 5 as finished and return from the recursion. All of the vertices adjacent to 2 have been visited, so we mark 2 as finished and return from the recursion. Finally, we come back to 0. Because all of the vertices adjacent to it have also been visited, we mark 0 as finished and we are done (see Figure 10.19(i)). The order in which we started to visit all vertices is 0, 1, 3, 4, 2, 5, 6; the order in which we finished visiting all vertices is 4, 3, 1, 6, 5, 2, 0. The discovery order is the order in which the vertices are discovered. The finish order is the order in which the vertices are finished. We consider a vertex to be finished when we return to it after finishing all its successors. Figure 10.20 shows the depth-first search tree for the graph in Figure 10.18. A preorder traversal of this tree yields the sequence in which the vertices were visited: 0, 1, 3, 4, 2, 5, 6. The dashed lines are the other edges in the graph that are not part of the depth-first search tree. These edges are called back edges because they connect a vertex with its ancestors in the depth-first search tree. Observe that vertex 4 has two ancestors in addition to its parent 3: 1 and 0. Vertex 1 is a grandparent, and vertex 0 is a great-grandparent. image FIGURE 10.20 Depth-First Search Tree of Figure 10.18 Algorithm for Depth-First Search Depth-first search is used as the basis of other graph algorithms. However, rather than embedding the depth-first search algorithm into these other algorithms, we will implement the depth-first search algorithm to collect information about the vertices, which we can then use in these other algorithms. The information we will collect is the discovery order (or the visit order) and the finish order. The depth-first search algorithm follows. Step 5 recursively applies this algorithm to each vertex as it is discovered. Algorithm for Depth-First Search 1. Mark the current vertex, u, visited (color it light gray), and enter it in the discovery order list. 2. for each vertex, v, adjacent to the current vertex, u 3. if v has not been visited 4. Set parent of v to u. 5. Recursively apply this algorithm starting at v. 6. Mark u finished (color it dark gray) and enter u into the finish order list. Observe that Step 6 is executed after the loop in Step 2 has examined all vertices adjacent to vertex u. Also, the loop at Step 2 does not select the vertices in any particular order. Table 10.5 shows a trace of the algorithm as applied to the graph shown in Figure 10.19. We list each visit or finish step in column 1. Column 2 lists the vertices adjacent to each vertex when it begins to be visited. The discovery order (the order in which the vertices are visited) is 0, 1, 3, 4, 2, 5, 6. The finish order is 4, 3, 1, 6, 5, 2, and 0. TABLE 10.5 Trace of Depth-First Search of Figure 10.19 Operation Adjacent Vertices Discovery (Visit) Order Finish Order Visit 0 1, 2, 3, 4 0 Visit 1 0, 3, 4 0, 1 Visit 3 0, 1, 4 0, 1, 3 Visit 4 0, 1, 3 0, 1, 3, 4 Finish 4 4 Finish 3 4, 3 Finish 1 4, 3, 1 Visit 2 0, 5, 6 0, 1, 3, 4, 2 Visit 5 2, 6 0, 1, 3, 4, 2, 5 Visit 6 2, 5 0, 1, 3, 4, 2, 5, 6 Finish 6 4, 3, 1, 6 Finish 5 4, 3, 1, 6, 5 Finish 2 4, 3, 1, 6, 5, 2 Finish 0 4, 3, 1, 6, 5, 2, 0 Performance Analysis of Depth-First Search The loop at Step 2 is executed |Eu| (the number of edges that originate at that vertex) times. The recursive call results in this loop being applied to each vertex. The total number of steps is the sum of the edges that originate at each vertex, which is the total number of edges |E|. Thus, the algorithm is O(|E|). There is an implicit Step 0 to the algorithm that colors all of the vertices white. This is O(|V|); thus, the total running time of the algorithm is O(|V|+|E|). Implementing Depth-First Search The class DepthFirstSearch is designed to be used as a building block for other algorithms. When constructed, this class performs a depth-first search on a graph and records the start time, finish time, start order, and finish order. For an unconnected graph or for a directed graph (whether connected or not), a depth-first search may not visit each vertex in the graph. Thus, once the recursive method returns, the vertices need to be examined to see whether they all have been visited; if not, the recursive process repeats, starting with the next unvisited vertex. Thus, the depth-first search can generate more than one tree. We will call this collection of trees a forest. Also, it may be important that we control the order in which the vertices are examined to form the forest. Thus, one of the constructors for the DepthFirstSearch class enables its caller to specify the order in which vertices are examined to select a new start vertex. The default is normal ascending order. The class is described in Table 10.6, and part of the code is shown in Listing 10.4. TABLE 10.6 Class DepthFirstSearch Data Field Attribute private int discoverIndex The index that indicates the discovery order private int[] discoveryOrder The array that contains the vertices in discovery order private int finishIndex The index that indicates the finish order private int[] finishOrder The array that contains the vertices in finish order private Graph graph A reference to the graph being searched private int[] parent The array of predecessors in the depth-first search tree private boolean[] visited An array of boolean values to indicate whether or not a vertex has been visited Constructor Purpose public DepthFirstSearch(Graph graph) Constructs the depth-first search of the specified graph selecting the start vertices in ascending vertex order public DepthFirstSearch(Graph graph, int[] order) Constructs the depth-first search of the specified graph selecting the start vertices in the specified order. The first vertex visited is order[0] Method Behavior public void depthFirstSearch(int s) Recursively searches the graph starting at vertex s public int[] getDiscoveryOrder() Gets the discovery order public int[] getFinishOrder() Gets the finish order public int[] getParent() Gets the parents in the depth-first search tree Each constructor allocates storage for the arrays parent, visited, discoveryOrder, and finishOrder and initializes all elements of parent to -1 (no parent). In the constructor in Listing 10.4, the for statement for (int i = 0; i < n; i++) { if (!visited[i]) depthFirstSearch(i); } calls the recursive depth-first search method. Method depthFirstSearch follows the algorithm shown earlier. If the graph is connected, all vertices will be visited after the return from the initial call to depthFirstSearch. If the graph is not connected, additional calls will be made using a start vertex that has not been visited. In the constructor (not shown) that allows the client to control the order of selection for start vertices, the parameter int[] order specifies this sequence. To code this constructor, change the if statement in the for loop of the first constructor to if (!visited[order[i]]) depthFirstSearch(order[i]); The rest of the code is the same. LISTING 10.4 DepthFirstSearch.java /** Class to implement the depth-first search algorithm. */ public class DepthFirstSearch { // Data Fields /** A reference to the graph being searched. */ private Graph graph; /** Array of parents in the depth-first search tree. */ private int[] parent; /** Flag to indicate whether this vertex has been visited. */ private boolean[] visited; /** The array that contains each vertex in discovery order. */ private int[] discoveryOrder; /** The array that contains each vertex in finish order. */ private int[] finishOrder; /** The index that indicates the discovery order. */ private int discoverIndex = 0; /** The index that indicates the finish order. */ private int finishIndex = 0; // Constructors /** Construct the depth-first search of a Graph starting at vertex 0 and visiting the start vertices in ascending order. @param graph The graph */ public DepthFirstSearch(Graph graph) { this.graph = graph; int n = graph.getNumV(); parent = new int[n]; visited = new boolean[n]; discoveryOrder = new int[n]; finishOrder = new int[n]; for (int i = 0; i < n; i++) { parent[i] = -1; } for (int i = 0; i < n; i++) { if (!visited[i]) depthFirstSearch(i); } } /** Construct the depth-first search of a Graph selecting the start vertices in the specified order. The first vertex visited is order[0]. @param graph The graph @param order The array giving the order in which the start vertices should be selected */ public DepthFirstSearch(Graph graph, int[] order) { // Same as constructor above except for the if statement. } /** Recursively depth-first search the graph starting at vertex current. @param current The start vertex */ public void depthFirstSearch(int current) { /* Mark the current vertex visited. */ visited[current] = true; discoveryOrder[discoverIndex++] = current; /* Examine each vertex adjacent to the current vertex */ Iterator itr = graph.edgeIterator(current); while (itr.hasNext()) { int neighbor = itr.next().getDest(); /* Process a neighbor that has not been visited */ if (!visited[neighbor]) { /* Insert (current, neighbor) into the depth-first search tree. */ parent[neighbor] = current; /* Recursively apply the algorithm starting at neighbor. */ depthFirstSearch(neighbor); } } /* Mark current finished. */ finishOrder[finishIndex++] = current; } Testing Method depthFirstSearch Next, we show a main method that tests the class. It is a simple driver program that can be used to read a graph and then initiate a depth-first traversal. After the traversal, the driver program displays the arrays that represent the search results. /** Main method to test depth-first search method @pre args[0] is the name of the input file. @param args The command line arguments */ public static void main(String[] args) { Graph g = null; int n = 0; try { Scanner scan = new Scanner(new File(args[0])); g = AbstractGraph.createGraph(scan, true, “List”); n = g.getNumV(); } catch (IOException ex) { ex.printStackTrace(); System.exit(1); // Error } // Perform depth-first search. DepthFirstSearch dfs = new DepthFirstSearch(g); int[] dOrder = dfs.getDiscoveryOrder(); int[] fOrder = dfs.getFinishOrder(); System.out.println(“Discovery and finish order”); for (int i = 0; i < n; i++) { System.out.println(dOrder[i] + ” ” + fOrder[i]); } } EXERCISES FOR SECTION 10.4 SELF-CHECK 1. Show the breadth-first search trees for the following graphs. 2. Show the depth-first search trees for the graphs in Exercise 1 above. PROGRAMMING Provide all accessor methods for class DepthFirstSearch and the constructor that specifies the order of start vertices. Implement method depthFirstSearch without using recursion. Hint: Use a stack to save the parent of the current vertex when you start to search one of its adjacent vertices. 10.5 Applications of Graph Traversals CASE STUDY Shortest Path through a Maze Problem We want to design a program that will find the shortest path through a maze. In Chapter 5, we showed how to write a recursive program that found a solution to a maze. This program used a backtracking algorithm that visited alternate paths. When it found a dead end, it backed up and tried another path, and eventually it found a solution. Figure 10.21 shows a maze solution generated by this recursive program. The light-gray cells are barriers in the maze. The white squares show the solution path, the black squares show the squares that were visited but rejected, and the dark-gray squares were not visited. As you can see, the program did not find an optimal solution. (This is a consequence of the program advancing the solution path to the south before attempting to advance it to the east.) We want to find the shortest path, defined as the one with the fewest decision points in it. image FIGURE 10.21 Recursive Solution to a Maze Analysis We can represent the maze shown in Figure 10.21 by a graph, where we place a node at each decision point and at each dead end, as shown in Figure 10.22. image FIGURE 10.22 Graph Representation of the Maze in Figure 10.21 Now that we have the maze represented as a graph, we need to find the shortest path from the start point (vertex 0) to the end point (vertex 12). The breadth-first search method will return the shortest path from each vertex to its parent (the array of parent vertices), and we can use this array to find the shortest path to the end point. Recall that our shortest path will contain the smallest number of vertices, but not necessarily the smallest number of cells, in the path. Design Your program will need the following data structures: An external representation of the maze, consisting of the number of vertices and the edges. An object of a class that implements the Graph interface. An array to hold the predecessors returned from the breadthFirstSearch method. A stack to reverse the path. The algorithm is as follows: 1. Read in the number of vertices and create the graph object. 2. Read in the edges and insert the edges into the graph. 3. Call the breadthFirstSearch method with this graph and the starting vertex as its argument. The method returns the array parent. 4. Start at v, the end vertex. 5. while v is not –1 6. Push v onto the stack. 7. Set v to parent[v]. 8. while the stack is not empty 9. Pop a vertex off the stack and output it. Implementation Listing 10.5 shows the program. We assume that the graph that represents the maze is stored in a text file. The first line of this file contains the number of vertices. The edges are on subsequent lines. The method loadEdgesFromFile reads the source and destination vertices and inserts the edge into the graph. The rest of the code follows the algorithm. LISTING 10.5 Program to Solve a Maze Using a Breadth-First Search import java.io.*; import java.util.*; /** Program to solve a maze represented as a graph. This program performs a breadth-first search of the graph to find the “shortest” path from the start vertex to the end. It is assumed that the start vertex is 0, and the end vertex is numV-1. */ public class Maze { /** Main method to solve the maze. @pre args[0] contains the name of the input file. @param args Command line argument */ public static void main(String[] args) { int numV = 0; // The number of vertices. Graph theMaze = null; // Load the graph data from a file. try { Scanner scan = new Scanner(new File(args[0])); theMaze = AbstractGraph.createGraph(scan, false, “List”); numV = theMaze.getNumV(); } catch (IOException ex) { System.err.println(“IO Error while reading graph”); System.err.println(ex.toString()); System.exit(1); } // Perform breadth-first search. int parent[] = BreadthFirstSearch.breadthFirstSearch(theMaze, 0); // Construct the path. Deque thePath = new ArrayDeque<>(); int v = numV – 1; while (parent[v] != -1) { thePath.push(v); v = parent[v]; } // Output the path. System.out.println(“The Shortest path is:”); while (!thePath.isEmpty()) { System.out.println(thePath.pop()); } } } Testing Test this program with a variety of mazes. Use mazes for which the original program finds the shortest path and mazes for which it does not. For the graph shown in Figure 10.23, the shortest path from 0 to 12 is 0 → 1 → 2 → 8 → 12. image FIGURE 10.23 Solution to Maze in Figure 10.21 CASE STUDY Topological Sort of a Graph Problem There are many problems in which one activity cannot be started before another one has been completed. One that you may have already encountered is determining the order in which you can take courses. Some courses have prerequisites. Some have more than one prerequisite. Furthermore, the prerequisites may have prerequisites. Figure 10.24 shows the courses and prerequisites of a Computer Science program at the authors’ university. image FIGURE 10.24 Prerequisites for a Computer Science Program Graphs such as the one shown in Figure 10.24 are known as directed acyclic graphs (DAGs). They are directed graphs that contain no cycles; that is, there are no loops, so once you pass through a vertex, there is no path back to that vertex. Figure 10.25 shows another example of a DAG. image FIGURE 10.25 Example of a DAG A topological sort of the vertices of a DAG is an ordering of the vertices such that if (u, v) is an edge, then u appears before v. This must be true for all edges. For example, 0, 1, 2, 3, 4, 5, 6, 7, 8 is a valid topological sort of the graph in Figure 10.25, but 0, 1, 5, 3, 4, 2, 6, 7, 8 is not because 2 → 5 is an edge, but 5 appears before 2. There are many valid paths through the prerequisite graph and many valid topological sorts. Another valid topological sort is 0, 3, 1, 4, 6, 2, 5, 7, 8. Analysis If there is an edge from u to v in a DAG, then if we perform a depth-first search of this graph, the finish time of u must be after the finish time of v. When we return to u, either v has not been visited or it has finished. It is not possible that v would be visited but not finished, because if it were possible, we would discover u on a path that had passed through v. That would mean that there is a loop or cycle in the graph. For example, in Figure 10.25, we could start the depth-first search at 0, then visit 4, followed by 6, followed by 8. Then, returning to 4, we would have to visit 7 before returning to 0. Then we would visit 1, and from 1 we would see that 4 has finished. Alternatively, we could start at 0 and then go to 1, and we would see that 4 has not been visited. What we cannot have happen is that we start at 0, then visit 4, and eventually get to 1 before finishing 4. Design If we perform a depth-first search of a graph and then order the vertices by the inverse of their finish order, we will have one topological sort of a DAG. The topological sort produced by listing the vertices in the inverse of their finish order after a depth-first search of the graph in Figure 10.25 is 0, 3, 1, 4, 6, 2, 5, 7, 8. Algorithm for Topological Sort Read the graph from a data file. Perform a depth-first search of the graph. List the vertices in reverse of their finish order. Implementation We can use our DepthFirstSearch class to implement this algorithm. Listing 10.6 shows a program that does this. It begins by reading the graph from an input file. It then creates a DepthFirstSearch object dfs. The constructor of the DepthFirstSearch class performs the depth-first search and saves information about the graph. We then call the getFinishOrder method to get the vertices in the order in which they finished. If we output this array starting at numVertices – 1, we will obtain the topological sort of the graph. LISTING 10.6 TopologicalSort.java import java.util.*; /** This program outputs the topological sort of a directed graph that contains no cycles. */ public class TopologicalSort { /** The main method that performs the topological sort. @pre arg[0] contains the name of the file that contains the graph. It has no cycles. @param args The command line arguments */ public static void main(String[] args) { Graph theGraph = null; int numVertices = 0; try { // Connect Scanner to input file. Scanner scan = new Scanner(new File(args[0])); // Load the graph data from a file. theGraph = AbstractGraph.createGraph(scan, true, “List”); numVertices = theGraph.getNumV(); } catch (Exception ex) { ex.printStackTrace(); System.exit(1); // Error exit. } // Perform the depth-first search. DepthFirstSearch dfs = new DepthFirstSearch(theGraph); // Obtain the finish order. int[] finishOrder = dfs.getFinishOrder(); // Print the vertices in reverse finish order. System.out.println(“The Topological Sort is”); for (int i = numVertices – 1; i >= 0; i–) { System.out.println(finishOrder[i]); } } } Testing Test this program using several different graphs. Use sparse graphs and dense graphs. Make sure that each graph you try has no loops or cycles. If it does, the algorithm may display an invalid output. EXERCISES FOR SECTION 10.5 SELF-CHECK Draw the depth-first search tree of the graph in Figure 10.24 and then list the vertices in reverse finish order. List some alternative topological sorts for the graph in Figure 10.24. 10.6 Algorithms Using Weighted Graphs Finding the Shortest Path from a Vertex to All Other Vertices The breadth-first search discussed in Section 10.4 found the shortest path from the start vertex to all other vertices, assuming that the length of each edge was the same. We now consider the problem of finding the shortest path where the length of each edge may be different—that is, in a weighted directed graph such as that shown in Figure 10.26. The computer scientist Edsger W. Dijkstra developed an algorithm, now called Dijkstra’s algorithm (“A Note on Two Problems in Connection with Graphs,” Numerische Mathematik, Vol. 1 [1959], pp. 269–271), to solve this problem. This algorithm makes the assumption that all of the edge values are positive. image FIGURE 10.26 Weighted Directed Graph For Dijkstra’s algorithm, we need two sets, S and V–S, and two arrays, d and p. S will contain the vertices for which we have computed the shortest distance, and V–S will contain the vertices that we still need to process. The entry d[v] will contain the shortest distance from s to v, and p[v] will contain the predecessor of v in the path from s to v. We initialize S by placing the start vertex, s, into it. We initialize V–S by placing the remaining vertices into it. For each v in V–S, we initialize d by setting d[v] equal to the weight of the edge w(s, v) for each vertex, v, adjacent to s and to ∞ for each vertex that is not adjacent to s. We initialize p[v] to s for each v in V–S. For example, given the graph shown in Figure 10.26, the set S would initially be {0}, and V–S would be {1, 2, 3, 4}. The arrays d and p would be defined as follows. v d[v] p[v] 1 10 0 2 ∞ 0 3 30 0 4 100 0 The first row shows that the distance from vertex 0 to vertex 1 is 10 and that vertex 0 is the predecessor of vertex 1. The second row shows that vertex 2 is not adjacent to vertex 0. We now find the vertex u in V–S that has the smallest value of d[u]. Using our example, this is 1. We now consider the vertices v that are adjacent to u. If the distance from s to u (d[u]) plus the distance from u to v (i.e., w(u, v)) is smaller than the known distance from s to v, d[v], then we update d[v] to be d[u] + w(u, v), and we set p[v] to u. In our example, the value of d[1] is 10, and w(1, 2) is 50. Since 10 + 50 = 60 is less than ∞, we set d[2] to 60 and p[2] to 1. We remove 1 from V–S and place it into S. We repeat this until V–S is empty. After the first pass through this loop, S is {0, 1}, V–S is {2, 3, 4}, and d and p are as follows: v d[v] p[v] 1 10 0 2 60 1 3 30 0 4 100 0 We again select u from V–S with the smallest d[u]. This is now 3. The adjacent vertices to 3 are 2 and 4. The distance from 0 to 3, d[3], is 30. The distance from 3 to 2 is 20. Because 30 + 20 = 50 is less than the current value of d[2], 60, we update d[2] to 50 and change p[2] to 3. Also, because 30 + 60 = 90 is less than 100, we update d[4] to 90 and set p[4] to 3. Now S is {0, 1, 3}, and V–S is {2, 4}. The arrays d and p are as follows: v d[v] p[v] 1 10 0 2 50 3 3 30 0 4 90 3 Next, we select vertex 2 from V–S. The only vertex adjacent to 2 is 4. Since d[2] + w(2, 4) = 50 + 10 = 60 is less than d[4], 90, we update d[4] to 60 and p[4] to 2. Now S is {0, 1, 2, 3}, V–S is {4}, and d and p are as follows: v d[v] p[v] 1 10 0 2 50 3 3 30 0 4 60 2 Finally, we remove 4 from V–S and find that it has no adjacent vertices. We are now done. The array d shows the shortest distances from the start vertex to all other vertices, and the array p can be used to determine the corresponding paths. For example, the path from vertex 0 to vertex 4 has a length of 60, and it is the reverse of 4, 2, 3, 0; therefore, the shortest path is 0 → 3 → 2 → 4. Dijkstra’s Algorithm 1. Initialize S with the start vertex, s, and V–S with the remaining vertices. 2. for all v in V–S 3. Set p[v] to s. 4. if there is an edge (s, v) 5. Set d[v] to w(s, v).    else 6. Set d[v] to ∞. 7. while V–S is not empty 8. for all u in V–S, find the smallest d[u]. 9. Remove u from V–S and add u to S. 10. for all v adjacent to u in V–S 11. if d[u] + w(u, v) is less than d[v] 12. Set d[v] to d[u] + w(u, v). 13. Set p[v] to u. Analysis of Dijkstra’s Algorithm Step 1 requires |V| steps. The loop at Step 2 will be executed |V – 1| times. The loop at Step 7 will also be executed |V – 1| times. Within the loop at Step 7, we have to consider Steps 8 and 9. For these steps, we will have to search each value in V–S. This decreases each time through the loop at Step 7, so we will have |V| – 1 + |V| – 2 + · · · 1. This is O(|V|2). Therefore, Dijkstra’s algorithm as stated is O(|V|2). We will look at possible improvements to this for sparse graphs when we discuss a similar algorithm in the next subsection. Implementation Listing 10.7 provides a straightforward implementation of Dijkstra’s algorithm using HashSet vMinusS to represent set V–S. We chose to implement the algorithm as a static method with the inputs (the graph and starting point) and outputs (predecessor and distance array) passed through parameters. An alternative approach would be to make them data fields in a class that contained this method. We use iterators to traverse vMinusS. If we used an adjacency list representation for the graph (i.e., class ListGraph, described earlier), then we would code Step 10 (update the distances) to iterate through the edges adjacent to vertex u, and then update the distance if the destination vertex was in vMinusS. The modified code follows: // Update the distances. Iterator edgeIter = graph.edgeIterator(u); while (edgeIter.hasNext()) { Edge edge = edgeIter.next(); int v = edge.getDest(); if (vMinusS.contains(new Integer(v)) { double weight = edge.getWeight(); if (dist[u] + weight < dist[v]) { dist[v] = dist[u] + weight; pred[v] = u; } } } LISTING 10.7 Dijkstra’s Shortest-Path Algorithm /** Dijkstra’s Shortest-Path algorithm. @param graph The weighted graph to be searched @param start The start vertex @param pred Output array to contain the predecessors in the shortest path @param dist Output array to contain the distance in the shortest path */ public static void dijkstrasAlgorithm(Graph graph, int start, int[] pred, double[] dist) { int numV = graph.getNumV(); HashSet vMinusS = new HashSet<>(numV); // Initialize V–S. for (int i = 0; i < numV; i++) { if (i != start) { vMinusS.add(i); } } // Initialize pred and dist. for (int v : vMinusS) { pred[v] = start; dist[v] = graph.getEdge(start, v).getWeight(); } // Main loop while (vMinusS.size() != 0) { // Find the value u in V–S with the smallest dist[u]. double minDist = Double.POSITIVE_INFINITY; int u = -1; for (int v : vMinusS) { if (dist[v] < minDist) { minDist = dist[v]; u = v; } } // Remove u from vMinusS. vMinusS.remove(u); // Update the distances. for (int v : vMinusS) { if (graph.isEdge(u, v)) { double weight = graph.getEdge(u, v).getWeight(); if (dist[u] + weight < dist[v]) { dist[v] = dist[u] + weight; pred[v] = u; } } } } Minimum Spanning Trees A spanning tree is a subset of the edges of a graph such that there is only one edge between each vertex, and all of the vertices are connected. If we have a spanning tree for a graph, then we can access all the vertices of the graph from the start node. The cost of a spanning tree is the sum of the weights of the edges. We want to find the minimum spanning tree or the spanning tree with the smallest cost. For example, if we want to start up our own long-distance phone company and need to connect the cities shown in Figure 10.4, finding the minimum spanning tree would allow us to build the cheapest network. We will discuss the algorithm published by R. C. Prim (“Shortest Connection Networks and Some Generalizations,” Bell System Technical Journal, Vol. 36 [1957], pp. 1389–1401) for finding the minimum spanning tree of a graph. It is very similar to Dijkstra’s algorithm, but Prim published his algorithm in 1957, 2 years before Dijkstra’s paper that contains an algorithm for finding the minimum spanning tree that is essentially the same as Prim’s as well as the previously discussed algorithm for finding the shortest paths. Overview of Prim’s Algorithm The vertices are divided into two sets: S, the set of vertices in the spanning tree, and V–S, the remaining vertices. As in Dijkstra’s algorithm, we maintain two arrays: d[v] will contain the length of the shortest edge from a vertex in S to the vertex v that is in V–S, and p[v] will contain the source vertex for that edge. The only difference between the algorithm to find the shortest path and the algorithm to find the minimum spanning tree is the contents of d[v]. In the algorithm to find the shortest path, d[v] contains the total length of the path from the starting vertex. In the algorithm to find the minimum spanning tree, d[v] contains only the length of the final edge. We show the essentials of Prim’s algorithm next. Prim’s Algorithm for Finding the Minimum Spanning Tree 1. Initialize S with the start vertex, s, and V–S with the remaining vertices. 2. for all v in V–S 3. Set p[v] to s. 4. if there is an edge (s, v) 5. Set d[v] to w(s, v). else 6. Set d[v] to ∞. 7. while V–S is not empty 8. for all u in V–S, find the smallest d[u]. 9. Remove u from V–S and add it to S. 10. Insert the edge (u, p[u]) into the spanning tree. 11. for all v in V–S 12. if w(u, v) < d[v] 13. Set d[v] to w(u, v). 14. Set p[v] to u. In the array d, d[v] contains the length of the shortest known (previously examined) edge from a vertex in S to the vertex v, while v is a member of V–S. In the array p, the value p[v] is the source vertex of this shortest edge. When v is removed from V–S, we no longer update these entries in d and p. EXAMPLE 10.2 Consider the graph shown in Figure 10.27. We initialize S to {0} and V–S to {1, 2, 3, 4, 5}. The smallest edge from u to v, where u is in S and v is in V–S, is the edge (0, 2). We add this edge to the spanning tree and add 2 to S (see Figure 10.28(a)). The set S is now {0, 2} and V–S is {1, 3, 4, 5}. We now have to consider all of the edges (u, v), where u is either 0 or 2, and v is 1, 3, 4, or 5 (there are eight possible edges). The smallest one is (2, 5). We add this to the spanning tree, and S now is {0, 2, 5} and V–S is {1, 3, 4} (see Figure 10.28(b)). The next smallest edge is (5, 3). We insert that into the tree and add 3 to S (see Figure 10.28(c)). Now V–S is {1, 4}. The smallest edge is (2, 1). After adding this edge (see Figure 10.28(d)), we are left with V–S being {4}. The smallest edge to 4 is (1, 4). This is added to the tree, and the spanning tree is complete (see Figure 10.28(e)). image FIGURE 10.27 Graph for Example 10.2 image FIGURE 10.28 Building a Minimum Spanning Tree Using Prim’s Algorithm Analysis of Prim’s Algorithm Step 8 is O(|V|). Because this is within the loop at Step 7, it will be executed O(|V|) times for a total time of O(|V|2). Step 11 is O(|Eu|), the number of edges that originate at u. Because Step 11 is inside the loop of Step 7, it will be executed for all vertices; thus, the total is O(|E|). Because |V|2 is greater than |E|, the overall cost of the algorithm is O(|V|2). By using a priority queue to hold the edges from S to V–S, we can improve on this algorithm. Then Step 8 is O(log n), where n is the size of the priority queue. In the worst case, all of the edges are inserted into the priority queue, and the overall cost of the algorithm is then O(|E| log |V|). We say that the algorithm is O(|E| log |V|) instead of saying that it is O(|E| log |E|), even though the maximum size of the priority queue is |E|, because |E| is bounded by |V|2 and log |V|2 is 2 × log |V|. For a dense graph, where |E| is approximately |V|2, this is not an improvement; however, for a sparse graph, where |E| is significantly less than |V|2, it is. Furthermore, computer science researchers have developed improved priority queue implementations that give O(|E| + |V| log |V|) or better performance. Implementation Listing 10.8 shows an implementation of Prim’s algorithm using a priority queue to hold the edges from S to V–S. The arrays p and d given in the algorithm description above are not needed because the priority queue contains complete edges. For a given vertex d, if a shorter edge is discovered, we do not remove the entry containing the longer edge from the priority queue. We merely insert new edges as they are discovered. Therefore, when the next shortest edge is removed from the priority queue, it may have a destination that is no longer in V–S. In that case, we continue to remove edges from the priority queue until we find one with a destination that is still in V–S. This is done with the following loop: do { edge = pQ.remove(); dest = edge.getDest(); } while(!vMinusS.contains(dest)); LISTING 10.8 Prim’s Minimum Spanning Tree Algorithm /** Prim’s Minimum Spanning Tree algorithm. @param graph The weighted graph to be searched @param start The start vertex @return An ArrayList of edges that forms the MST */ public static ArrayList primsAlgorithm(Graph graph, int start) { ArrayList result = new ArrayList<>(); int numV = graph.getNumV(); // Use a HashSet to represent V–S. Set vMinusS = new HashSet<>(numV); // Declare the priority queue. Queue pQ = new PriorityQueue<>(numV, (e1, e2) -> Double.compare(e1.getWeight(), e2.getWeight())); // Initialize V–S. for (int i = 0; i < numV; i++) { if (i != start) { vMinusS.add(i); } } int current = start; // Main loop while (vMinusS.size() != 0) { // Update priority queue. Iterator iter = graph.edgeIterator(current); while (iter.hasNext()) { Edge edge = iter.next(); int dest = edge.getDest(); if (vMinusS.contains(dest)) { pQ.add(edge); } } // Find the shortest edge whose source is in S and // destination is in V–S. int dest = -1; Edge edge = null; do { edge = pQ.remove(); dest = edge.getDest(); } while(!vMinusS.contains(dest)); // Take dest out of vMinusS. vMinusS.remove(dest); // Add edge to result. result.add(edge); // Make this the current vertex. current = dest; } return result; EXERCISES FOR SECTION 10.6 SELF-CHECK Trace the execution of Dijkstra’s algorithm to find the shortest path from Philadelphia to the other cities shown in the following graph. image Trace the execution of Dijkstra’s algorithm to find the shortest paths from vertex 0 to the other vertices in the following graph. image Trace the execution of Prim’s algorithm to find the minimum spanning tree for the graph shown in Exercise 2. Trace the execution of Prim’s algorithm to find the minimum spanning tree for the graph shown in Exercise 1. Chapter Review A graph consists of a set of vertices and a set of edges. An edge is a pair of vertices. Graphs may be either undirected or directed. Edges may have a value associated with them known as the weight. In an undirected graph, if {u, v} is an edge, then there is a path from vertex u to vertex v, and vice versa. In a directed graph, if (u, v) is an edge, then (v, u) is not necessarily an edge. If there is an edge from one vertex to another, then the second vertex is adjacent to the first. A path is a sequence of adjacent vertices. A path is simple if the vertices in the path are distinct except, perhaps, for the first and last vertex, which may be the same. A cycle is a path in which the first and last vertexes are the same. A graph is considered connected if there is a path from each vertex to every other vertex. A tree is a special case of a graph. Specifically, a tree is a connected graph that contains no cycles. Graphs may be represented by an array of adjacency lists. There is one list for each vertex, and the list contains the edges that originate at this vertex. Graphs may be represented by a two-dimensional square array called an adjacency matrix. The entry [u][v] will contain a value to indicate that an edge from u to v is present or absent. A breadth-first search of a graph finds all vertices reachable from a given vertex via the shortest path, where the length of the path is based on the number of vertices in the path. A depth-first search of a graph starts at a given vertex and then follows a path of unvisited vertices until it reaches a point where there are no unvisited vertices that are reachable. It then backtracks until it finds an unvisited vertex, and then continues along the path to that vertex. A topological sort determines an order for starting activities that are dependent on the completion of other activities (prerequisites). The finish order derived from a depth-first traversal represents a topological sort. Dijkstra’s algorithm finds the shortest path from a start vertex to all other vertices, where the distance from one vertex to another is determined by the weight of the edge between them. Prim’s algorithm finds the minimum spanning tree for a graph. This consists of the subset of the edges of a connected graph whose sum of weights is the minimum and the graph consisting of only the edges in the subset is still connected. User-Defined Classes and Interfaces in This Chapter AbstractGraph ListGraph BreadthFirstSearch MatrixGraph DepthFirstSearch MatrixGraph.Iter Edge Maze Graph TopologicalSort Quick-Check Exercises For the following graph: List the vertices and edges. True or false: The path 0, 1, 4, 6, 3 is a simple path. True or false: The path 0, 3, 1, 4, 6, 3, 2 is a simple path. True or false: The path 3, 1, 2, 4, 7, 6, 3 is a cycle. image Identify the connected components in the following graph. image For the following graph: List the vertices and edges. Does this graph contain any cycles? image Show the adjacency matrices for the graphs shown in Questions 1, 2, and 3. Show the adjacency lists for the graphs shown in Questions 1, 2, and 3. Show the breadth-first search tree for the graph shown in Question 1, starting at vertex 0. Show the depth-first search tree for the graph shown in Question 3, starting at vertex 0. Show a topological sort of the vertices in the graph shown in Question 3. In the following graph, find the shortest path from 0 to all other vertices. image In the following graph, find the minimum spanning tree. image Review Questions What are the different types of graphs? What are the different types of paths? What are two common methods for representing graphs? Can you think of other methods? What is a breadth-first search? What can it be used for? What is a depth-first search? What can it be used for? Under what circumstances are the paths found by Dijkstra’s algorithm not unique? Under what circumstances is the minimum spanning tree unique? What is a topological sort? Programming Projects Design and implement the MatrixGraph class. Rewrite method dijkstrasAlgorithm to use a priority queue as we did for method primsAlgorithm. When inserting edges into the priority queue, the weight is replaced by the total distance from the source vertex to the destination vertex. The source vertex, however, remains unchanged as it is the predecessor in the shortest path. In both Prim’s algorithm and Dijkstra’s algorithm, edges are retained in the priority queue, even though a shorter edge to a given destination vertex has been found. This can be avoided, and thus performance improved, by using a ModifiablePriorityQueue. Extend the PriorityQueue class described in Chapter 6 as follows: /** A ModifiablePriorityQueue stores Comparable objects. Items may be inserted in any order. They are removed in priority order, with the smallest being removed first, based on the compareTo method. The insert method will return a value known as a locator. The locator may be used to replace a value in the priority queue. */ public class ModifiablePriorityQueue> extends PriorityQueue { /** Insert an item into the priority queue. @param obj The item to be inserted @return A locator to the item */ int insert(E obj); /** Remove the smallest item in the priority queue. @return The smallest item in the priority queue */ E poll(); /** Replace the item at the specified location. @param loc The locator value of the current item @param newValue The new value */ void replaceItem(int loc, E newValue); . . . Implement Dijkstra’s algorithm using the ModifiablePriorityQueue. Implement Prim’s algorithm using the ModifiablePriortyQueue. A maze can be constructed from a series of concentric circles. Between the circles there are walls placed, and around the circles there are doors. The walls divide the areas between the circles into chambers, and the doors permit movement between chambers. The positions of the doors and walls are given in degrees measured counterclockwise from the horizontal. For example, the maze shown on the left can be described as follows: image Number of circles 4 Position of doors Outer circle 85–90 Next inner circle 26–40, 135–146, 198–215, 305–319 Next inner circle 67–90, 161–180, 243–256, 342–360 Innermost circle 251–288 Position of walls Outer ring 45, 135, 300 Middle ring 0, 100, 225, 270 Inner ring 65, 180 Write a program that inputs a description of a maze in this format and finds the shortest path from the outside to the innermost circle. The shortest path is the one that goes through the smallest number of chambers. In Chapter 5 we discussed the class MazeTest, which reads a rectangular maze as a sequence of lines consisting of 0s and 1s, where a 0 represents an open square and a 1 represents a closed one. For example, the maze shown in Figure 10.21 and reproduced here has the following input file: 011111111111111111111111 000000000000000000000001 011111111111111011111101 011111100000001011111101 011111101111111011000001 000000000000000011011011 110111101101111011011011 110111101101111011011011 110111101101000011011011 110111101101111111011011 110111101100000000011011 110000001101111111111011 111101111100000000001011 111101111111111111101000 111100000000000000001110 111111111111111111111110 image Write a program that reads input in this format and finds the shortest path, where the distance along a path is defined by the number of squares covered. A third possible representation of a graph is to use the TreeSet class to contain the edges. By defining a comparator that compares first on the source vertex and then the destination vertex, we can use the subSet method to create a view that contains only edges originating at a specified vertex and then use the iterator of that view to iterate through edges. Design and implement a class that meets the requirements of the Graph interface and uses a TreeSet to hold the edges. Answers to Quick-Check Exercises 1. Vertices: {0, 1, 2, 3, 4, 5, 6, 7}   Edges: {{0, 1}, {0, 3}, {1, 2}, {1, 3}, {1, 4}, {2, 4}, {3, 5}, {3, 6}, {4, 6}, {4, 7}, {5, 6}, {6, 7}} True False True 2. The connected components are {0, 3, 5, 6}, {1, 4, 7}, and {2}. 3. Vertices: {0, 1, 2, 3, 4, 5, 6, 7}   Edges: {(0, 1), (0, 3), (0, 5), (1, 2), (2, 4), (3, 4), (4, 7), (5, 3), (5, 6), (6, 7)} The graph contains no cycles. 4. For the graph shown in Question 1: image For Question 2: image For Question 3: image For Question 1: [0]  →  1 → 3 [1] → 0 → 2 → 3 → 4 [2] → 1 → 4 [3] → 0 → 1 → 5 → 6 [4] → 1 → 2 → 6 → 7 [5] → 3 → 6 [6] → 3 → 4 → 5 → 7 [7] → 4 → 6 For Question 2: [0] → 3 → 5 [1] → 4 [2] → [3] → 0 → 5 → 6 [4] → 1 → 7 [5] → 0 → 3 [6] → 3 [7] → 4 For Question 3: [0] → 1 → 3 → 5 [1] → 2 [2] → 4 [3] → 4 [4] → 7 [5] → 3 → 6 [6] → 7 [7] → 6. image 7. image 8. 8.0, 5, 6, 3, 1, 2, 4, 7 9. Vertex Distance Path 1 10 0 → 1 2 25 0 → 1 → 2 3 30 0 → 3 (or 0 → 5 → 3) 4 30 0 → 1 → 2 → 4 5 20 0 → 5 6 25 0 → 5 → 6 7 40 0 → 5 → 6 → 7 (or 0 → 1 → 2 → 4 → 7) 10. image

Family’s disaster plan checklist

 

For this assignment, you will complete Your Family’s Disaster Plan Checklist.

You will gather and complete the recommended information and supplies listed on the Family Disaster Plan Checklist Checklist. 

Please note: You are not required to purchase any items on this list. However, take note of the items you are missing and consider how it could impact your safety and survival in a disaster.

a. Download the Family Disaster Plan Checklist and fill out everything.

b. Complete all sections. For the inventory lists, use a check mark to show which items you have on hand.

  • For items that are not applicable to you and your living situation, please write N/A (not applicable) in the space, otherwise, it will be counted as incomplete.
  •  Remember to protect personal information by using pseudonyms, or by providing only partial information
    • ​Ex: Sister: Britley *****, phone: 724-***-****, email: b********@yahoo.com

Family Disaster Plan Checklist NURS 431 Disaster Management

Assignment Instructions:

Complete your Family Disaster Plan Checklist

1. Complete all sections I – VIII. Use yes, check marks or x’s for items
you do have. Use need or no for items you
do not have currently. Use N/A, for items not applicable for your living situation.
Do not leave anything blank.

2. Remember to
protect personal information by using pseudonyms, or by providing only partial information.

· ​Ex: Sister: Britley *****, phone: 724-***-****, email:
b********@yahoo.com

3. Use complete information for utility companies, public companies, and agencies.

4.
Review the rubric for more information on how the assignment will be graded.

5.
Please note: You are not required to purchase any items on this list, however, take note of the items you are missing and consider how it could impact your safety and survival in a disaster.

6. Complete Section I. – “My Family’s Disaster Plan-Potential Hazards”. Include your reference and in-text citations.

____________________________________________________________________________

Name: Date: Revise Date:

(This is generally done annually

unless you have life changes.)

One of the most important steps you can take in preparing for emergencies is to develop a household disaster plan. This involves creating a plan that identifies who you can contact in an emergency, what each member of your family must do, and how you can better prepare yourself for the situation. (Veenema, 2009)

I.

My Family’s Disaster Plan – Potential Hazards

Research potential disasters that could occur in your community. Select 2 (two) potential disasters and using about 25 words,

examine how these potential disasters can impact you as a nurse.
Provide at least 1 reference for each potential disaster. Use APA Style for your reference(s) and include in-text citation(s).
Write your word count at the end of your paragraph for each possible hazard.

# 1-Possible hazards in my area:

Reference

# 2-Possible hazards in my area:

Reference

II.

Emergency Contact Information and Communication Plan

Emergency Phone Numbers – (Program these into all phones and post in a common area in the home.)

Address

Phone #

Police Department

Fire Department

Local Emergency Services

Local American Red Cross

Poison Help

1-800-222-1212

Healthcare Providers

· Doctor

· Dentist

· Other (add additional important personal contacts)

Employers and School Officials Contacts

I know the emergency response plans for employers and schools. _____

Self, Spouse, Significant Other (names)

Employer/School

Address

Phone #

Facility Contact Name

Child’s Name

Child Day Care/Child School

Address

Phone #

Facility Contact Name

Family Communication Plan

Prepare a family communication plan so that each member of the family can contact one another quickly.
(Put 10 most important numbers on a card in your wallet.)

· Everyone has a cell phone or calling card _____

· Young children know how to call (
numbers are saved and they also have the 10 most important numbers on a card in their backpack.) ______

10 most important numbers

Name

Address

Phone

Email

1

2

3

4

5

6

7

8

9

10


Identify two meeting places for your family, in the event you are separated.

One Location NEAR your home (neighbor/local friend):

Location

Address

Phone

Email

One Location AWAY from your home, in the event you cannot return home (school, recreation center, fire department, police station):

Location

Address

Phone

Email

Pick at least 1 or 2 friends or relatives who live
out of the area, for household members to call/email to say they are okay. (If you want, add others as backup.)

Name

Address

Phone

Email

III.

Emergency Floorplan, Utilities Shut-Off, Evacuation Plan and Transportation
1. Draw a floor plan of your residence and label all exterior doors and windows.  

2.
Mark two escape route pathways, using arrows, out of each room.

(See example below: Bastrop County Office of Emergency Management). 

  

· Use this space to draw your floor plan or imbed a photo OR

· You may attach your drawing to the end of this document OR

· Attach it as a 2nd document to your assignment submission.
Do not submit the document as a 2nd submission attempt. It will negate your 1st submission attempt. Submit as an additional document in 1 attempt.

If you still have questions on how to submit this assignment, please ask before submitting.


Emergency Floorplan

Everyone in the house knows how, when, and where to shut off utilities,
prior to a disaster. This is done to mitigate damage to your residence. ______

Utility Company Name

Utility Company

Phone Number

Location of the Main Shut-Off or Main Controls
at your residence

Electric Company Name

Water Company Name

Gas Company Name

Evacuation Plan and Transportation

· Extra gallon of gas ______

· If you do not have a car, do you have plans with a neighbor, family members or your local government agency to be evacuated. ______

List a neighbor/family member or 2 and a local government agency.

(Example: Area Rapid Transit)

Address

Phone

IV.

Property, Health, and Financial Well-being
(yes/no answers)

· Review property insurance policies and disaster policies. Are current and appropriate to my/my family’s needs ______

· Review life-insurance policies. Are they current and appropriate to my/my family’s needs ______

· Review health insurance policies. Are they current and appropriate to my/my family’s needs ______

· Review financial documents. ______

· Appropriate emergency savings (an average of 3 months household income) ______

· Easily accessible, small cash savings ______

Important Documents and Items Secured

Make sure you have copies of important documents and items that can be stored in a fireproof watertight container.

Important Items

Check off items that are safely stored/photocopied

Personal identification

Cash and coins

Credit card(s)

Extra set of house keys and car keys

Birth certificate

Marriage certificate

Driver’s license

Social Security card

Passport/visa

Wills

Deeds

Inventory of household goods (with photos & serial numbers)

Insurance papers

Immunization records

· Allergies

· Medications

Bank and credit card numbers

Stock/bonds

Emergency contact list (phone/address/email)

Local map and emergency shelter locations

Pet information

Additional:

V.

Pet Arrangements

As per local and state health and safety regulations, pets may not be permitted in some shelters such as American Red Cross shelters. Service animals are permitted.

Name of Veterinarian and Name of Local Animal Shelter:

Name of Veterinarian

Address

Phone

Email

Name of Local Animal Shelter

(Good to have if you find a lost pet.)

Address

Phone

Email

Names of pet friendly hotels/motels in and out of the area:

Name

Address

Phone

Email

VI.

Special Needs Assistance

Create a network of neighbors, friends, relatives, coworkers to aid you in an emergency.

· Mobility escape chair in place _____

· High-rise/apartment arrangements for emergency evacuation _____

· Extra wheelchair batteries, oxygen, catheters, medications, food for service animals _____

· Caregiver identification information _____

· Medical bracelet, etc. _____

Special needs assistance organization in your community.

Name

Address

Phone

Email

Register with the local office of emergency services/preparedness or fire department.

Name

Address

Phone

Email

Consider ways to help neighbors who may need special assistance (ESL/medical/living alone).

Name

Special Help Needed

Address

Phone


VII. Certifications

Stay current and up to date (e.g., CPR, ACLS, PALS, TNCC).

Certification

Date of Completion

Date of Renewal


VIII. Disaster Supply Kit “Go Bag” and Emergency Supplies

You and your family may need to survive on your own for 3 days or more. Consider having additional supplies for up to two weeks confinement or shelter. You should prepare emergency supplies for the following situations:

Go Bags

Make sure all family members know where the go bags are and have access to them.

Home go-bag _____

Pet go-bag _____

Child go-bag with special items for feeling safe and staying occupied _____

Vehicle go-bag – 3-day supplies included with emergency roadside equipment _____

Work go bag _____

Water Supplies

Stocking water supplies should be a top priority. Drinking water in emergency situations should not be rationed. It is critical to store adequate amounts of water for your household.


Safety Tip: Water Storage and Collection in an Emergency

· Do not store it in glass containers or other containers that can break.

· Do not rely on untested devices for decontaminating water.

· If you have a well or public water, follow treatment methods provided by your public health service or water provider.

· Store water in a cool, dark place.

Water

On Hand

Need to Acquire

Next water change (date)


Change water every 6 months.

Two quarts of water daily for drinking for each person in household

One gallon/week supply of water stored for sanitary and cooking needs for household.

Additional Specialty Items:

On Hand

Need to Acquire

Next water change (date)


Change water every 6 months.

Extra two quarts of water daily for children, nursing mothers, and those who are ill and need more.

Food: Preparing and Emergency Supply

Food, unlike water may be rationed except for children and pregnant women. No special food needed. Keep canned foods and dry mixes stocked.
Replenish food supplies every 6 months. Use and replace. Store newer items in the back, older items in front.

High energy protein foods

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Peanut butter

Trail mix

Granola bars

Peanuts

Hard candy

Boxed juices

Powdered milk

Dry fruits

Additional Specialty Items:

On Hand

Need to Acquire

Add items you need for your family situation: (Put N/A if it not applicable to your needs.)

Infant foods

On Hand

Need to Acquire

Specialty diet foods

On Hand

Need to Acquire

First Aid Supplies

Assemble a first aid kit for your home. ____ Assemble a first aid kit for each vehicle. _____

Basic First Aid Supplies

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

First aid manual

Sterile adhesive bandages, assorted sizes

Safety pins assorted sizes

Cleansing agents

Antibiotic ointment

Latex gloves (2 pair)

Petroleum jelly or other lubricant

2-inch and 4-inch sterile gauze pads (4 to 6 of each)

Triangular bandages (3)

Sunscreen

Scissors

2-inch and 3-inch sterile roller bandages (3 rolls each)

Tweezers

Needle

Moistened towelettes

Antiseptic

Thermometer

Tongue depressor blades (2)

Prescription medication list (ask your pharmacist about storing prescription medications)

Extra pair or prescription eyeglasses or contacts

Nonprescription drugs:

On Hand

Need to Acquire

Aspirin and non—aspirin pain relievers

Antidiarrheal medication

Antacid

Laxative

Vitamins

Syrup of ipecac

Additional Specialty Items:

On Hand

Need to Acquire

Tools and Emergency Supplies –

Assemble these items in a disaster supply kit in case you need to leave quickly.

Tools

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Portable, battery-powered radio, TV, alarm clock

Flashlight and extra batteries

Signal flare

Matches in a waterproof container

Shut-off wrench, pliers, shovel, hammer, screwdriver, and other tools

Duct tape and scissors

Plastic sheeting

Whistle

A-B-C fire extinguisher

Tube tent

Compass

Work gloves

Paper, pen, pencils

Needles and thread

Additional Specialty Items:

On Hand

Need to Acquire

Sanitation and Hygiene

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Washcloth and towel

Towelettes, soap, hand sanitizer, liquid detergent

Toiletries

Heavy-duty plastic garbage bags

Medium–sized plastic bucket with tight lid and small shovel for digging a latrine.

Disinfectant and household chlorine bleach

Additional Specialty Items:

On Hand

Need to Acquire

Kitchen Items

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Manual can opener

Mess kits or paper cups, plates, plastic utensils

All-purpose knife

A dropper (eye dropper) with measurements

Liquid bleach to treat water.

· Only use regular, unscented chlorine bleach products that are suitable for disinfection and sanitization as indicated on the label. The label may say that the active ingredient contains 6 or 8.25% of sodium hypochlorite. Do not use scented, color safe, or bleaches with added cleaners. If water is cloudy, let it settle and filter it through a clean cloth, paper towel, or coffee filter.

Sugar, salt, pepper

Aluminum foil, plastic wrap

Resealing plastic bags

Additional Specialty Items:

On Hand

Need to Acquire

If food must be cooked, a small camping stove and can of cooking fuel

Clothes and Bedding

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

One complete change of clothes and footwear for each member of the household. Shoes should be sturdy work shoes or boots.

Rain gear, hats and gloves, extra socks and underwear, thermal underwear, sunglasses.

Blankets or sleeping bag and pillows for each member.

Additional Specialty Items:

On Hand

Need to Acquire

Specialty Items as needed for Baby

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Specialty Items as needed for Elderly

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Specialty Items as needed for Pets

On Hand

Need to Acquire

Check off all the basic items you have and list additional specialty items you have on hand:

Other Items

Review other disaster preparedness websites for items not included here.

List items that you
have added to personalize your emergency preparedness Go Bag.

Item

Included

List items you
need or would like to acquire to personalize your Go Bag.

Item

Included

2- Revised Summer 2023

image1.png

the

Accounting Equation Penny Lyman is the owner and operator of Go109, a motivational consulting business. At the end of its accounting period, December 31, 20Y1, Go109 has assets of $851,640 and liabili

Accounting Equation

Penny Lyman is the owner and operator of Go109, a motivational consulting business. At the end of its accounting period, December 31, 20Y1, Go109 has assets of $851,640 and liabilities of $269,120. Using the accounting equation and considering each case independently, determine the following amounts.

a.Penny Lyman, capital, as of December 31, 20Y1.$fill in the blank 1b.Penny Lyman, capital, as of December 31, 20Y2, assuming that assets increased by $134,560 and liabilities increased by

$80,910 during 20Y2.$fill in the blank 2c.Penny Lyman, capital, as of December 31, 20Y2, assuming that assets decreased by $67,280 and liabilities increased by

$23,850 during 20Y2.$fill in the blank 3d.Penny Lyman, capital, as of December 31, 20Y2, assuming that assets increased by $112,420 and liabilities decreased by

$42,580 during 20Y2.$fill in the blank 4e.Net income (or net loss) during 20Y2, assuming that as of December 31, 20Y2, assets were $1,073,070, liabilities were $174,590,

and there were no additional investments or withdrawals.$fill in the blank 5

Walden University Preventative Health and Assessing PPT

Description

WEEK NINE CASE STUDY  

  • Edwardo is a 21-year-old Mexican American male who is about to embark on a rigorous exercise program to lose weight. He works as IT support for an organization, a position that requires most of his shift to be seated in his chair with a headset, responding to IT requests online for the duration of his shift. He is a full-time graduate student in an IT program at the local university. He goes out with friends once weekly “for some fun and relief”, he drinks socially, one to two beers with his friends, does not smoke or use recreational drugs. He takes no medications, has not had a physical since he enrolled in his first college program and that consisted of completing a form. He played football in high school but has had no time for sports since enrolling in his first college program. He considers his studies the most essential aspect for his focus. His parents are healthy and invite him over once weekly for “one good meal” and he takes groceries offered by his mother home so that he has food in his apartment. His parents want to help him stay healthy since he has little time to grocery shop, and often gets a burger on the way home from classes. He sleeps well, feels “sluggish” sometimes, especially during his bus ride to and from work. This concerned him and so he has managed to find time to go to a gym for exercise.  He hopes to feel better and lose at least 30 pounds by working out at the gym. He went to visit a personal trainer for the first session and is surprised to hear his trainer suggest that he go to his primary healthcare provider for a checkup first. He began thinking about his parents and their health habits. Both are working full-time and active and healthy, eat nutritious meals, which he enjoys when he has the time to visit, and they take no meds. He has no brothers or sisters. He is concerned that maybe he will not enjoy the health of his parents and maybe he is doing something wrong since he should have inherited good health from his parents. You learn this during your introductory conversation with him and now you must determine where to begin with this “healthy” young man and apparently, his trainer. You applaud his new plan for exercise and begin to discuss with him some health goals and objectives.

B/P 124/70     H/R 70     R 18   WT  200 pounds   HT  70 inches

  • Based on the provided patient information, think about the health history you would need to collect from the patient. 
  • Consider what physical exams and diagnostic tests would be appropriate to gather more information about the patient’s condition. Reflect on how the results would be used to make a diagnosis. 
  • Identify three to five possible conditions that may be considered in a differential diagnosis or at risk for the patient or that you share with him he is at risk for having. 

Consider clinical guidelines that might support each diagnosis. 

  • Develop a realistic preventive health treatment plan for the patient that includes health promotion and patient education strategies for special populations. How would you categorize him as “special population”? Use social determinants of health, information that you gather during your assessment, to guide your realistic preventive health plan.
  • Determine if you will refer Edwardo back to his trainer for full approval of an exercise program or will you follow up with him first, or concurrently, or tell him that he should not enter an exercise program now (share your reasoning for your decision). This is primarily a PREVENTIVE health assessment. You will want to provide an evaluation, but no pathology must be found; however, a preventive health plan is a must. Social determinants of health must be considered. Referrals or none? Patient education. How would you plan to work with the trainer who provided this referral?

This is a different kind of case study, however, one you may encounter and one that is really important for you to be able to work through. Enjoy!

PREVENTATIVE HEALTH AND ASSESSING, DIAGNOSING, AND TREATING SPECIAL POPULATIONS

Certain groups of patients have concerns that may be specific to their particular population. Conditions related to men’s or women’s health, older adults, college students, LGBTQ individuals, athletes, those with particular cultural beliefs or concerns, or those undergoing palliative or end-of-life care would all fall under this category. Individuals may identify with more than one category.

For this Assignment, you practice assessing, diagnosing, and treating disorders seen in special population patients.

RESOURCES

Be sure to review the Learning Resources before completing this activity.
Click the weekly resources link to access the resources. 

WEEKLY RESOURCES

To Prepare:

  • Review this week’s Learning Resources. Consider preventative health and assessing, diagnosing, and treating special populations.
  • Review the case study provided by your Instructor. Based on the provided patient information, think about the health history you would need to collect from the patient. 
  • Consider what physical exams and diagnostic tests would be appropriate in order to gather more information about the patient’s condition. Reflect on how the results would be used to make a diagnosis. 
  • Identify three to five possible conditions that may be considered in a differential diagnosis for the patient. 
  • Consider each patient’s diagnosis. Think about clinical guidelines that might support this diagnosis. 
  • Develop a preventative health treatment plan for the patient that includes health promotion and patient education strategies for special populations.

Complete:

Use the Focused SOAP Note Template to address the following:

  • Subjective: What details are provided regarding the patient’s personal and medical history?
  • Objective: What observations did you make during the physical assessment? Include pertinent positive and negative physical exam findings. Describe whether the patient presented with any morbidities or psychosocial issues.
  • Assessment: Explain your differential diagnoses, providing a minimum of three. List them from highest priority to lowest priority and include their CPT and ICD-10 codes for the diagnosis. What would your primary diagnosis be and why?
  • Plan: Explain your plan for diagnostics and primary diagnosis. What would your plan be for treatment and management? Include pharmacologic and non-pharmacologic treatments, alternative therapies, and follow-up parameters as well as a rationale for this treatment and management plan.
  • Reflection notes: Describe your “aha!” moments from analyzing this case.